原理
當本地git push origin master
向Github遠程倉庫提交代碼時,可以通過配置github自帶webhook向服務器發送請求,利用github-webhook工具在服務器端接到請求后,調用自定義shell腳本來實現自動構建
使用github-webhook
源碼: https://github.com/yezihack/github-webhook 別忘記點個小星星哦.
1. 下載github-webhook工具
https://github.com/yezihack/github-webhook/releases
github release下載太慢, 試試這個
wget http://img.sgfoot.com/github-webhook1.4.1.linux-amd64.tar.gz
2. 運行github-webhook
安裝
tar -zxvf github-webhook1.4.1.linux-amd64.tar.gz
cp github-webhook /usr/bin/
chmod u+x /usr/bin/github-webhook
運行
- 默認端口: 2020
- 有效訪問地址: http://ip:2020/web-hook
-b
是shell腳本路徑參數-s
是github webhook設置的密碼
# 非后台運行
github-webhook -b [shell腳本路徑] -s [github webhook設置的密碼]
# 后台運行
nohup github-webhook -b [shell腳本路徑] -s [github webhook設置的密碼] &
配置github webhook
- 填寫你服務器的地址, http://ip:2020/web-hook
- 設置的密碼必須與服務器運行
github-webhook -s
設置的密碼一致.
測試
git push后, 你就可以看到github推送的信息
git push origin master