目標:在本地開發機上push**到gitlab倉庫時,通過鉤子同步到測試伺服器
準備工作
gitlab 伺服器一臺
測試伺服器一臺
本地開發伺服器一臺
1.在gitlab上新建一個專案,名稱test
2.在本地機上開發克隆gitlab專案
3.在本地機上配置gitlab事件觸發**地址 (
a.建立hooks專案
建議目錄:hooks
|- item1
|- hook.php
|- logs
|- sh
|- git_dev_release.sh
|- item2
4.設定gitlab專案**地址並進行測試
hook.php **
//接收gitlab**時推過來的流資訊
$requestbody = file_get_contents("php://input");
//資料型別轉換
$content = json_decode($requestbody, true
);
//將流資訊寫入日誌
//定義執行的命令
$devsh="/bin/bash /home/xingfupeng/hooks/test/sh/git_dev_release.sh";
if($content['ref'] == "refs/heads/dev" && $content['total_commits_count'] > 0)
git_dev_release.sh 指令碼**
log=/home/xingfupeng/hooks/test/logs/git_dev_release_test.logecho
"`date +%y-%m-%d-%h:%m:%s` begin update test code...$1...
" >>$log
cd /home/xingfupeng/test
git checkout dev >>$log
git pull origin dev >>$log
echo
"**********===start to update the test program!!!**********===
">>$log
echo
"`date +
"%y-%m-%d %h:%m:%s"
` ssh remote server 192.168.20.229_server to modify config file!!!**********==
" >> $log
git鉤子搭建 使用php指令碼
webhook實現遠端伺服器拉取更新內容 ssh keygen t rsa c test test.com 然後一直回車就行 生成的檔案通常是 root ssh id rsa,如果非root使用者請檢視提示上的路徑sudo hu www ssh keygen t rsa 伺服器執行php的使用者為w...