github利用webhooks实现自动部署
基础流程:
提交代码到github -> github通知服务器 -> 服务器执行脚本拉取
服务器软件安装:yum
、git
、go
安装goyum install -y golang
安装webhookgo get github.com/adnanh/webhook
注:需配置代理,参考:https://goproxy.cn/
系统部署位置拉取源码,如/www/wwwroot/下拉取test项目;
创建/www/wwwroot/hooks.json文件;
[
{
"id": "deploy",
"execute-command": "./deploy.sh",
"command-working-directory": "/www/wwwroot/"
}
]
新建/www/wwwroot/deploy.sh
脚本并添加执行权限
#! /bin/bash
cd /root/test/test
git pull
执行nohup /root/go/bin/webhook -hooks hooks.json -verbose >log.txt 2>&1&
浏览器访问http://ip:9000/hooks/deploy
;
注:需放行服务器、宝塔等9000端口
配置github