master
pan 4 years ago
parent d509cba462
commit 611ecde4f5
  1. 36
      routes/index.js

@ -6,6 +6,7 @@ const {spawn} = require('child_process');
const _info='info'
const _error='error'
const access_token=''
function log(param,message){
console[param](`${moment().utcOffset(480).format('yyyy-MM-DD HH:mm:ss')}:${message}`)
@ -19,15 +20,43 @@ function error(message){
log(_error,message)
}
function dingding(message){
info(message)
fetch(`https://oapi.dingtalk.com/robot/send?access_token=${access_token}`,{
method:'POST',
headers:{
'Content-Type':'application/json'
},
body:{
msgtype:'text',
text:{
content:message
}
}
}).then(res=>res.json()).then(res=>info(`钉钉推送结果:${res}`)).catch(err=>error(err))
}
//记录开始部署的时间
const startDeploy={}
//web钩子事件
//git@gogs.kirito.cool:panqihua/RiskCloudMock.git push事件
router.post('/deploy', function(req, res, next) {
//提交日志,多次提交只取第一个
const commitsMsg=req.body.commits[0].message
//更新时间
const updated_at=req.body.repository.updated_at
//仓库名字
const name=req.body.repository.name
info(`开始自动部署${name}`)
//仓库描述信息
const description=req.body.repository.description
startDeploy[name]={
startTime:moment(updated_at),
description:description
}
dingding(`开始自动部署${c.repository.description}|${name},更新日志${commitsMsg}`)
const promise = new Promise((resolve, reject) => {
const spawnObj = spawn('updateRisk', [name], {encoding: 'utf-8'});
@ -52,7 +81,8 @@ router.post('/deploy', function(req, res, next) {
//部署完毕事件
router.get('/finsh', function(req, res, next) {
info(`仓库代码${req.query.name}部署成功`)
dingding(`${req.query.name}|${startDeploy[req.query.name].description}自动部署成功,
花费时间${moment().diff(startDeploy[req.query.name].startTime,'seconds')}`)
res.json({message:`仓库代码${req.query.name}部署成功`})
});

Loading…
Cancel
Save