使用第三方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

Webhooks 设置
Webhooks 设置

设置触发事件后请求的地址及方法,并选择触发事件的类型,此处选择为push,当我们提交代码的时候触发;设置完成后,点击添加即可。

服务器编辑接受处理代码

nodejsexpress为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var shell = require('shelljs'); // shell npm 包工具
var setting = require('../setting');
var blogPath = setting.blog.path;
module.exports = function (req, res) {
var body = req.body;
console.log(body) // git 推送的数据
if (!shell.which('git')) { // 判断是否存在git命令
shell.echo('Sorry, this script requires git');
shell.exit(1);
}
var cd = shell.cd(blogPath);
if (!cd.code){
// 执行git代码拉取操作
if (shell.exec('git pull origin master').code !== 0) {
shell.echo('Error: Git pull error!');
shell.exit(1);
}
}
res.end();
}
—-publish by CEditor