master
pan 4 years ago
parent d9cb2f63f0
commit 01416fb8d7
  1. 29
      routes/index.js

@ -1,26 +1,27 @@
var express = require('express');
var router = express.Router();
const { exec } = require('child_process');
//web钩子事件
//git@gogs.kirito.cool:panqihua/RiskCloudMock.git push事件
const {spawn} = require('child_process');
router.post('/server', function(req, res, next) {
const updated_at=req.body.repository.updated_at
const shell='nohup updateRisk RiskCloudMock &'
// 输出当前目录(不一定是代码所在的目录)下的文件和文件夹
console.log(`开始执行shell:${shell}`)
exec(shell, (err, stdout, stderr) => {
if(err) {
console.log(err)
res.json({message:'自动部署服务端失败'})
}else {
console.log(stdout)
res.json({message: `开始自动部署服务端,版本号:${updated_at}`})
}
console.info('调用自动部署命令')
const spawnObj = spawn('updateRisk', ['RiskCloudMock'], {encoding: 'utf-8'});
spawnObj.stdout.on('data', function(chunk) {
console.log(chunk.toString());
});
spawnObj.stderr.on('data', (data) => {
console.log(data);
});
spawnObj.on('close', function(code) {
console.log('close code : ' + code);
})
spawnObj.on('exit', (code) => {
console.log('exit code : ' + code);
res.json({message: `仓库代码${req.query.name}部署成功`})
})
});

Loading…
Cancel
Save