使用第三方Git仓库,实现代码的自动部署
GitHub 提供了Webhooks的功能,我们通过相应的配置就可以实现在代码提交到GitHub后自动部署我们的项目
在GitHub添加部署服务器的ssh key
1、首先在服务器生成ssh key
2、添加ssh key
到GitHub账户中
选择setting
-> SSH and GPG keys
-> New SSH Key
添加
配置Webhooks
打开需要配置Webhooks
的项目,点击Settings
,选择Webhooks
设置触发事件后请求的地址及方法,并选择触发事件的类型,此处选择为push
,当我们提交代码的时候触发;设置完成后,点击添加即可。
服务器编辑接受处理代码
以nodejs
的 express
为例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| var shell = require('shelljs'); var setting = require('../setting'); var blogPath = setting.blog.path; module.exports = function (req, res) { var body = req.body; console.log(body) if (!shell.which('git')) { shell.echo('Sorry, this script requires git'); shell.exit(1); } var cd = shell.cd(blogPath); if (!cd.code){ if (shell.exec('git pull origin master').code !== 0) { shell.echo('Error: Git pull error!'); shell.exit(1); } } res.end(); }
|