parent
1416f83246
commit
6a8bde1c1f
@ -1,55 +1,56 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
//const https = require('https');
|
const realFs = require("fs"); |
||||||
const realFs = require('fs'); |
const fs = require("graceful-fs"); |
||||||
const fs = require('graceful-fs'); |
|
||||||
fs.gracefulify(realFs); |
fs.gracefulify(realFs); |
||||||
|
|
||||||
const express = require('express'); |
const express = require("express"); |
||||||
const routes = require('./routes'); |
const routes = require("./routes"); |
||||||
const http = require('http'); |
const http = require("http"); |
||||||
const path = require('path'); |
const path = require("path"); |
||||||
const serveFavicon = require('serve-favicon'); |
const serveFavicon = require("serve-favicon"); |
||||||
const morgan = require('morgan'); |
const morgan = require("morgan"); |
||||||
const bodyParser = require('body-parser'); |
const bodyParser = require("body-parser"); |
||||||
const methodOverride = require('method-override'); |
const methodOverride = require("method-override"); |
||||||
const serveStatic = require('serve-static'); |
const serveStatic = require("serve-static"); |
||||||
const errorhandler = require('errorhandler'); |
const errorhandler = require("errorhandler"); |
||||||
|
|
||||||
|
const settings = require("./settings"); |
||||||
|
|
||||||
const app = express(); |
const app = express(); |
||||||
|
|
||||||
// all environments
|
// All environments
|
||||||
app.set('port', process.env.PORT || 3000); |
app.set("port", settings.port); |
||||||
app.set('views', path.join(__dirname, 'views')); |
app.set("views", path.join(__dirname, "views")); |
||||||
app.set('view engine', 'jade'); |
app.set("view engine", "jade"); |
||||||
app.set('gitpath', 'M:/g'); |
app.set("gitpath", settings.gitpath); |
||||||
app.set('tmpcodepath', 'M:/c'); |
app.set("tmpcodepath", settings.tmpcodepath); |
||||||
app.set('releasepath', 'M:/r'); |
app.set("releasepath", settings.releasepath); |
||||||
app.use(serveFavicon(path.join(__dirname, 'public/images/favicon.png'))); |
app.use(serveFavicon(path.join(__dirname, "public/images/favicon.png"))); |
||||||
app.use(morgan('dev')); |
app.use(morgan("dev")); |
||||||
app.use(bodyParser.json({ limit: '10mb' })); |
app.use(bodyParser.json({ "limit": "10mb" })); |
||||||
app.use(bodyParser.urlencoded({ extended: false })); |
app.use(bodyParser.urlencoded({ "extended": false })); |
||||||
app.use(methodOverride()); |
app.use(methodOverride()); |
||||||
app.use(serveStatic(path.join(__dirname, 'public'))); |
app.use(serveStatic(path.join(__dirname, "public"))); |
||||||
|
|
||||||
// development only
|
if (app.get("env") === "development") { |
||||||
if ('development' === app.get('env')) { |
|
||||||
app.use(errorhandler()); |
app.use(errorhandler()); |
||||||
} |
} |
||||||
|
|
||||||
app.route('/').get(routes.index); |
app.route("/").get(routes.index); |
||||||
app.route('/github/postreceive') |
app.route("/github/postreceive") |
||||||
.post(routes.postreceive) |
.post(routes.postreceive) |
||||||
.get((req, res) => res.send("Only automated POST requests are allowed for postreceive route")); |
.get((req, res) => res.send("Only automated POST requests are allowed for postreceive route")); |
||||||
|
|
||||||
app.route('/manual') |
app.route("/manual") |
||||||
.get(routes.manual.get) |
.get(routes.manual.get) |
||||||
.post(routes.manual.post); |
.post(routes.manual.post); |
||||||
|
|
||||||
app.route('/status/:owner/:reponame/:branch/:rev?').get(routes.status.page); |
app.route("/status/:owner/:reponame/:branch/:rev?").get(routes.status.page); |
||||||
app.route('/pos-github.payonline.ru/*').get(routes.status.pageFromGithub); |
app.route("/pos-github.payonline.ru/*").get(routes.status.pageFromGithub); |
||||||
app.route('/status.svg').get(routes.status.image); |
app.route("/status.svg").get(routes.status.image); |
||||||
app.route('/release/:owner/:reponame/:branch/:rev').get(routes.release); |
app.route("/release/:owner/:reponame/:branch/:rev").get(routes.release); |
||||||
app.route('/artifact/:owner/:reponame/:branch/:rev/*').get(routes.artifact); |
app.route("/artifact/:owner/:reponame/:branch/:rev/*").get(routes.artifact); |
||||||
|
|
||||||
http.createServer(app).listen(app.get('port'), () => console.log('Express server listening on port ' + app.get('port'))); |
http.createServer(app).listen(app.get("port"), () => console.log(`Express server listening on port ${app.get("port")}`)); |
||||||
|
@ -1,10 +1,11 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
module.exports = (params, processor) => { |
module.exports = (params, processor) => { |
||||||
const condition = (!params.owner || params.owner === processor.context.owner) && (!params.branch || params.branch === processor.context.branch || "refs/heads/" + params.branch === processor.context.branch); |
const condition = (!params.owner || params.owner === processor.context.owner) |
||||||
const task = condition ? params.task : params.otherwise; |
&& (!params.branch || params.branch === processor.context.branch || `refs/heads/${params.branch}` === processor.context.branch); |
||||||
|
const task = condition |
||||||
|
? params.task |
||||||
|
: params.otherwise; |
||||||
|
|
||||||
return { |
return { "process": () => processor.processTask(task || { "type": "noop" }, processor.done.bind(processor)) }; |
||||||
process: () => processor.processTask(task || {type: "noop"}, processor.done.bind(processor)) |
|
||||||
}; |
|
||||||
}; |
}; |
||||||
|
@ -1,22 +1,22 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const fse = require('fs-extra'); |
const path = require("path"); |
||||||
|
const fse = require("fs-extra"); |
||||||
|
|
||||||
module.exports = (params, processor) => { |
module.exports = (params, processor) => ({ |
||||||
return { |
"process": () => { |
||||||
process: () => { |
const sourceFilePath = path.join(processor.context.exported, params.filename); |
||||||
var sourceFilePath = processor.context.exported + "/" + params.filename; |
|
||||||
|
|
||||||
processor.onInfo("Deleting " + sourceFilePath); |
processor.onInfo(`Deleting ${sourceFilePath}`); |
||||||
|
|
||||||
fse.remove(sourceFilePath, function(err) { |
fse.remove(sourceFilePath, (err) => { |
||||||
if (err) { |
if (err) { |
||||||
processor.onError("Unable to delete file: " + err); |
processor.onError(`Unable to delete file: ${err}`); |
||||||
} else { |
} else { |
||||||
processor.onInfo("Deleted file"); |
processor.onInfo("Deleted file"); |
||||||
} |
} |
||||||
|
|
||||||
return processor.done(); |
return processor.done(); |
||||||
}); |
}); |
||||||
} |
} |
||||||
}; |
}); |
||||||
}; |
|
||||||
|
@ -1,17 +1,17 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const sequential = require('./sequential'); |
const sequential = require("./sequential"); |
||||||
|
|
||||||
module.exports = (params, processor) => sequential({ |
module.exports = (params, processor) => sequential({ |
||||||
tasks: [ |
"tasks": [ |
||||||
{ |
{ |
||||||
type: "dotnetbuildwithoutcleanup", |
"name": "build", |
||||||
name: "build", |
params, |
||||||
params: params |
"type": "dotnetbuildwithoutcleanup" |
||||||
}, |
}, |
||||||
{ |
{ |
||||||
type: "cleanupafterdotnetbuild", |
"name": "cleanup", |
||||||
name: "cleanup" |
"type": "cleanupafterdotnetbuild" |
||||||
} |
} |
||||||
] |
] |
||||||
}, processor); |
}, processor); |
||||||
|
@ -1,42 +1,40 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const sequential = require('./sequential'); |
const sequential = require("./sequential"); |
||||||
|
|
||||||
module.exports = (params, processor) => { |
module.exports = (params, processor) => { |
||||||
const tasks = []; |
const tasks = []; |
||||||
|
|
||||||
if (!params.skipMbsCheckStyle) { |
if (!params.skipMbsCheckStyle) { |
||||||
tasks.push({ |
tasks.push({ |
||||||
type: "dotnetcheckstyle", |
params, |
||||||
params: params |
"type": "dotnetcheckstyle" |
||||||
}); |
}); |
||||||
} |
} |
||||||
|
|
||||||
tasks.push({ |
tasks.push({ |
||||||
type: "dotnetrewrite", |
params, |
||||||
params: params |
"type": "dotnetrewrite" |
||||||
}); |
}); |
||||||
|
|
||||||
if (!params.skipNugetRestore) { |
if (!params.skipNugetRestore) { |
||||||
tasks.push({ |
tasks.push({ |
||||||
type: "dotnetnugetrestore", |
params, |
||||||
params: params |
"type": "dotnetnugetrestore" |
||||||
}); |
}); |
||||||
} |
} |
||||||
|
|
||||||
tasks.push({ |
tasks.push({ |
||||||
type: "dotnetcompile", |
"params": { |
||||||
params: { |
"configuration": params.configuration, |
||||||
solution: params.solution, |
"forceCodeAnalysis": params.forceCodeAnalysis, |
||||||
skipCodeSigning: params.skipCodeSigning, |
"ignoreCodeAnalysis": params.ignoreCodeAnalysis, |
||||||
forceCodeAnalysis: params.forceCodeAnalysis, |
"skipCodeSigning": params.skipCodeSigning, |
||||||
ignoreCodeAnalysis: params.ignoreCodeAnalysis, |
"solution": params.solution, |
||||||
configuration: params.configuration, |
"target": "Rebuild" |
||||||
target: "Rebuild" |
}, |
||||||
} |
"type": "dotnetcompile" |
||||||
}); |
}); |
||||||
|
|
||||||
return sequential({ |
return sequential({ tasks }, processor); |
||||||
tasks: tasks |
|
||||||
}, processor); |
|
||||||
}; |
}; |
||||||
|
@ -1,33 +1,35 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const settings = require('../../settings'); |
const path = require("path"); |
||||||
const dotnetbuilderwrapper = require('./dotnetbuilderwrapper'); |
const settings = require("../../settings"); |
||||||
|
const dotnetbuilderwrapper = require("./dotnetbuilderwrapper"); |
||||||
|
|
||||||
module.exports = (params, processor) => { |
module.exports = (params, processor) => { |
||||||
const compileParams = { |
const compileParams = { |
||||||
command: "compile", |
"Configuration": params.configuration, |
||||||
SolutionPath: processor.context.exported + "/" + params.solution, |
"OutputDirectory": params.overrideOutputDirectory, |
||||||
Configuration: params.configuration, |
"SolutionPath": path.join(processor.context.exported, params.solution), |
||||||
Target: params.target, |
"Target": params.target, |
||||||
OutputDirectory: params.overrideOutputDirectory |
"command": "compile" |
||||||
}; |
}; |
||||||
|
|
||||||
if (!settings.skipCodeSigning && !params.skipCodeSigning) { |
if (!settings.skipCodeSigning && !params.skipCodeSigning) { |
||||||
compileParams.SigningKey = settings.codeSigningKeyFile; |
compileParams.SigningKey = settings.codeSigningKeyFile; |
||||||
} |
} |
||||||
if (settings.isCodeAnalysisUnsupported) { |
|
||||||
if (params.forceCodeAnalysis) { |
if (settings.isCodeAnalysisUnsupported && params.forceCodeAnalysis) { |
||||||
processor.onError("Code analysis is not supported"); |
processor.onError("Code analysis is not supported"); |
||||||
processor.done(); |
|
||||||
return; |
return processor.done(); |
||||||
} |
|
||||||
compileParams.SkipCodeAnalysis = true; |
|
||||||
} else { |
|
||||||
if (settings.ignoreCodeAnalysisByDefault && !params.forceCodeAnalysis) { |
|
||||||
compileParams.SkipCodeAnalysis = true; |
|
||||||
} |
} |
||||||
if (params.ignoreCodeAnalysis) { |
|
||||||
|
if ( |
||||||
|
settings.isCodeAnalysisUnsupported |
||||||
|
|| params.ignoreCodeAnalysis |
||||||
|
|| (settings.ignoreCodeAnalysisByDefault && !params.forceCodeAnalysis) |
||||||
|
) { |
||||||
compileParams.SkipCodeAnalysis = true; |
compileParams.SkipCodeAnalysis = true; |
||||||
} |
} |
||||||
} |
|
||||||
return dotnetbuilderwrapper(compileParams, processor); |
return dotnetbuilderwrapper(compileParams, processor); |
||||||
}; |
}; |
||||||
|
@ -1,30 +1,30 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const conditional = require('./conditional'); |
const conditional = require("./conditional"); |
||||||
|
|
||||||
module.exports = (params, processor) => conditional({ |
module.exports = (params, processor) => conditional({ |
||||||
owner: params.masterRepoOwner, |
"branch": "master", |
||||||
branch: "master", |
"otherwise": { |
||||||
task: { |
"name": "nuget-pack", |
||||||
name: "nuget-push", |
"params": { |
||||||
type: "dotnetnugetpush", |
"major": params.major, |
||||||
params: { |
"name": params.nuspecName, |
||||||
nuspec: params.nuspecName + ".nuspec", |
"nuspec": `${params.nuspecName}.nuspec`, |
||||||
name: params.nuspecName, |
"version": params.version, |
||||||
withoutCommitSha: params.withoutCommitSha, |
"withoutCommitSha": params.withoutCommitSha |
||||||
version: params.version, |
|
||||||
major: params.major |
|
||||||
} |
|
||||||
}, |
}, |
||||||
otherwise: { |
"type": "dotnetnugetpack" |
||||||
name: "nuget-pack", |
}, |
||||||
type: "dotnetnugetpack", |
"owner": params.masterRepoOwner, |
||||||
params: { |
"task": { |
||||||
nuspec: params.nuspecName + ".nuspec", |
"name": "nuget-push", |
||||||
name: params.nuspecName, |
"params": { |
||||||
withoutCommitSha: params.withoutCommitSha, |
"major": params.major, |
||||||
version: params.version, |
"name": params.nuspecName, |
||||||
major: params.major |
"nuspec": `${params.nuspecName}.nuspec`, |
||||||
} |
"version": params.version, |
||||||
|
"withoutCommitSha": params.withoutCommitSha |
||||||
|
}, |
||||||
|
"type": "dotnetnugetpush" |
||||||
} |
} |
||||||
}, processor); |
}, processor); |
||||||
|
@ -1,11 +1,12 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const dotnetbuilderwrapper = require('./dotnetbuilderwrapper'); |
const path = require("path"); |
||||||
|
const dotnetbuilderwrapper = require("./dotnetbuilderwrapper"); |
||||||
const settings = require("../../settings"); |
const settings = require("../../settings"); |
||||||
|
|
||||||
module.exports = (params, processor) => dotnetbuilderwrapper({ |
module.exports = (params, processor) => dotnetbuilderwrapper({ |
||||||
command: "nugetpush", |
"ApiKey": settings.nugetApiKey, |
||||||
Package: processor.context.exported + "/" + params.Package, |
"NugetHost": settings.nugetHost, |
||||||
NugetHost: settings.nugetHost, |
"Package": path.join(processor.context.exported, params.Package), |
||||||
ApiKey: settings.nugetApiKey |
"command": "nugetpush" |
||||||
}, processor); |
}, processor); |
||||||
|
@ -1,16 +1,17 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const sequential = require('./sequential'); |
const path = require("path"); |
||||||
|
const sequential = require("./sequential"); |
||||||
|
|
||||||
module.exports = (params, processor) => sequential({ |
module.exports = (params, processor) => sequential({ |
||||||
tasks: [ |
"tasks": [ |
||||||
{ |
{ |
||||||
type: "dotnetbuilderwrapper", |
"params": { |
||||||
params: { |
"BaseDirectory": processor.context.exported, |
||||||
command: "nugetrestore", |
"SolutionPath": path.join(processor.context.exported, params.solution), |
||||||
BaseDirectory: processor.context.exported, |
"command": "nugetrestore" |
||||||
SolutionPath: processor.context.exported + "/" + params.solution |
}, |
||||||
} |
"type": "dotnetbuilderwrapper" |
||||||
} |
} |
||||||
] |
] |
||||||
}, processor); |
}, processor); |
||||||
|
@ -1,9 +1,9 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const dotNetBuilderWrapper = require('./dotnetbuilderwrapper'); |
const path = require("path"); |
||||||
|
const dotNetBuilderWrapper = require("./dotnetbuilderwrapper"); |
||||||
|
|
||||||
module.exports = (params, processor) => dotNetBuilderWrapper({ |
module.exports = (params, processor) => dotNetBuilderWrapper({ |
||||||
command: "nunit", |
"TestLibraryPath": path.join(processor.context.exported, params.assembly), |
||||||
TestLibraryPath: processor.context.exported + "/" + params.assembly//,
|
"command": "nunit" |
||||||
// OutputPath: processor.context.release + "/" + params.solution + "/"
|
|
||||||
}, processor); |
}, processor); |
||||||
|
@ -1,47 +1,48 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const fs = require('fs'); |
const path = require("path"); |
||||||
const Mustache = require('mustache'); |
const fs = require("fs"); |
||||||
|
const Mustache = require("mustache"); |
||||||
|
|
||||||
const sequential = require('./sequential'); |
const sequential = require("./sequential"); |
||||||
|
|
||||||
const msbuildTemplate = fs.readFileSync(__dirname + "/dotnetpackwebapp.template.msbuild", {encoding: "utf8"}); |
const msbuildTemplate = fs.readFileSync(path.join(__dirname, "/dotnetpackwebapp.template.msbuild"), { "encoding": "utf8" }); |
||||||
const deployTemplate = fs.readFileSync(__dirname + "/dotnetpackwebapp.template.bat", {encoding: "utf8"}); |
const deployTemplate = fs.readFileSync(path.join(__dirname, "/dotnetpackwebapp.template.bat"), { "encoding": "utf8" }); |
||||||
const versionTemplate = fs.readFileSync(__dirname + "/dotnetpackwebapp.template.version.aspx", {encoding: "utf8"}); |
const versionTemplate = fs.readFileSync(path.join(__dirname, "/dotnetpackwebapp.template.version.aspx"), { "encoding": "utf8" }); |
||||||
|
|
||||||
module.exports = (params, processor) => sequential({ |
module.exports = (params, processor) => sequential({ |
||||||
tasks: [ |
"tasks": [ |
||||||
{ |
{ |
||||||
type: "writefile", |
"params": { |
||||||
params: { |
"data": Mustache.render(msbuildTemplate, params), |
||||||
filename: "MakePackage.msbuild", |
"filename": "MakePackage.msbuild" |
||||||
data: Mustache.render(msbuildTemplate, params) |
}, |
||||||
} |
"type": "writefile" |
||||||
}, |
}, |
||||||
{ |
{ |
||||||
type: "writefile", |
"params": { |
||||||
params: { |
"data": Mustache.render(deployTemplate, params), |
||||||
filename: "Deploy.bat", |
"filename": "Deploy.bat" |
||||||
data: Mustache.render(deployTemplate, params) |
}, |
||||||
} |
"type": "writefile" |
||||||
}, |
}, |
||||||
{ |
{ |
||||||
type: "writefile", |
"params": { |
||||||
params: { |
"data": Mustache.render(versionTemplate, params), |
||||||
filename: "version.aspx", |
"filename": "version.aspx" |
||||||
data: Mustache.render(versionTemplate, params) |
}, |
||||||
} |
"type": "writefile" |
||||||
}, |
}, |
||||||
{ |
{ |
||||||
type: "dotnetcompile", |
"params": { |
||||||
params: { |
"configuration": params.configuration, |
||||||
solution: "MakePackage.msbuild", |
"isCodeAnalysisUnsupported": params.isCodeAnalysisUnsupported, |
||||||
skipCodeSigning: params.skipCodeSigning, |
"overrideOutputDirectory": processor.context.release, |
||||||
isCodeAnalysisUnsupported: params.isCodeAnalysisUnsupported, |
"skipCodeSigning": params.skipCodeSigning, |
||||||
configuration: params.configuration, |
"solution": "MakePackage.msbuild", |
||||||
target: "Package", |
"target": "Package" |
||||||
overrideOutputDirectory: processor.context.release |
}, |
||||||
} |
"type": "dotnetcompile" |
||||||
} |
} |
||||||
] |
] |
||||||
}, processor); |
}, processor); |
||||||
|
@ -1,5 +1,3 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
module.exports = (params, processor) => ({ |
module.exports = (params, processor) => ({ "process": () => processor.done() }); |
||||||
process: () => processor.done() |
|
||||||
}); |
|
||||||
|
@ -1,34 +1,28 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const sequential = require('./sequential'); |
const sequential = require("./sequential"); |
||||||
|
|
||||||
module.exports = (params, processor) => sequential({ |
module.exports = (params, processor) => sequential({ |
||||||
tasks: [ |
"tasks": [ |
||||||
{ |
{ |
||||||
type: "eslintbrowserall", |
"params": { "excludeFiles": params.eslintExcludeFiles }, |
||||||
params: { |
"type": "eslintbrowserall" |
||||||
excludeFiles: params.eslintExcludeFiles |
|
||||||
} |
|
||||||
}, |
}, |
||||||
|
{ "type": "uglifyjsall" }, |
||||||
|
{ "type": "cssnanoall" }, |
||||||
{ |
{ |
||||||
type: "uglifyjsall" |
"params": { |
||||||
|
"data": processor.context.versionInfo, |
||||||
|
"filename": "version.txt" |
||||||
}, |
}, |
||||||
{ |
"type": "writefile" |
||||||
type: "cssnanoall" |
|
||||||
}, |
}, |
||||||
{ |
{ |
||||||
type: "writefile", |
"params": { |
||||||
params: { |
"archive": `${processor.context.reponame}.zip`, |
||||||
filename: "version.txt", |
"directory": "" |
||||||
data: processor.context.versionInfo |
|
||||||
} |
|
||||||
}, |
}, |
||||||
{ |
"type": "zip" |
||||||
type: "zip", |
|
||||||
params: { |
|
||||||
directory: "", |
|
||||||
archive: processor.context.reponame + ".zip" |
|
||||||
} |
|
||||||
} |
} |
||||||
] |
] |
||||||
}, processor); |
}, processor); |
||||||
|
@ -1,9 +1,9 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
exports.index = (req, res) => res.render('index', { title: 'Express' + req + "qq" }); |
exports.index = (req, res) => res.render("index", { "title": `Express<br/>\r\n${req}` }); |
||||||
|
|
||||||
exports.postreceive = require('./postreceive'); |
exports.postreceive = require("./postreceive"); |
||||||
exports.manual = require('./manual'); |
exports.manual = require("./manual"); |
||||||
exports.status = require('./status'); |
exports.status = require("./status"); |
||||||
exports.artifact = require('./artifact'); |
exports.artifact = require("./artifact"); |
||||||
exports.release = require('./release'); |
exports.release = require("./release"); |
||||||
|
@ -1,20 +1,21 @@ |
|||||||
"use strict"; |
"use strict"; |
||||||
|
|
||||||
const builder = require('../lib/builder'); |
const builder = require("../lib/builder"); |
||||||
|
|
||||||
exports.get = (req, res) => res.render('manual'); |
exports.get = (req, res) => res.render("manual"); |
||||||
|
|
||||||
exports.post = (req, res) => { |
exports.post = (req, res) => { |
||||||
const options = req.body; |
const options = req.body; |
||||||
options.url = "https://pos-github.payonline.ru/" + options.owner + "/" + options.reponame; |
|
||||||
|
options.url = `https://pos-github.payonline.ru/${options.owner}/${options.reponame}`; |
||||||
options.app = req.app; |
options.app = req.app; |
||||||
|
|
||||||
builder.build(options, (err, result) => { |
builder.build(options, (err, result) => { |
||||||
console.log("Done processing manual request"); |
console.log("Done processing manual request"); |
||||||
console.log("Error: " + err); |
console.log(`Error: ${err}`); |
||||||
//console.log("Result:");
|
res.render("manual-done", { |
||||||
//console.log(result);
|
err, |
||||||
res.render('manual-done', {err: err, result: result}); |
result |
||||||
//res.render("manual-done", { err: err, result: result });
|
}); |
||||||
}); |
}); |
||||||
}; |
}; |
||||||
|
Loading…
Reference in new issue