gitlab鉤子搭建

2023-01-20 03:56:01 字數 1373 閱讀 7057

目標:在本地開發機上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.log

echo

"`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...