var http = require('http')
, exec = require('exec')
const PORT = process.env.PORT || 9988
let transporter = nodemailer.createTransport({
service: 'smpt.163.com',
host: 'smtp.163.com',
secureConnection: true,
port: 465,
auth: {
user: '[email protected]',
pass: 'XXXXXXX'
}
});
let defaultOpions = {
from: 'xxxx's blog <[email protected]>',
to: '[email protected]',
subject: 'xxxx's blog',
html: '<b>blog deploy success !</b>'
}
var deployServer = http.createServer(function(request, response) {
if (request.url.search(/deploy\/?$/i) > 0) {
var commands = [
'make restart' //这是我自定义的重新部署的代码
].join(' && ')
exec(commands, function(err, out, code) {
if (err instanceof Error) {
response.writeHead(500)
response.end('Server Internal Error.')
throw err
}
process.stderr.write(err)
process.stdout.write(out)
response.writeHead(200)
response.end('Deploy Done.')
transporter.sendMail(defaultOpions, (err, info) => {
if(err) {
console.error(err)
}else{
console.log(err, info)
}
})
})
} else {
response.writeHead(404)
response.end('Not Found.')
}
})
deployServer.listen(PORT, () => {
console.log('start service' + PORT)
})
复制代码
转载于:https://juejin.im/post/5d078a966fb9a07eda031824