2016-02-18 44 views
0

我們有以下設置 - 與gitlab gui遠程存儲庫。更新服務器目錄後推送到gitlab回購

我們的網絡服務器位於另一臺服務器上,我們有ssh訪問它。我們也有我們的開發網站的本地副本,我們的git設置現在只需推到gitlab中的回購站。

我的目標是使流程自動化,並在每次推動gitlab回購更新服務器目錄與最新的變化。

我看到爲此目的,我們應該使用webhooks或部署密鑰。我想避免使用cron作業。

我創建了一個bash腳本,在訪問某個php文件後執行git pull。
但是,當我把url放到這個php文件的webhook部分的gitlab中時,什麼都沒有發生。

如果我通過在地址欄中輸入url來手動訪問文件,它可以正常工作。
當我嘗試測試鉤子時,我得到500錯誤和超時。

任何建議如何改善這個過程或哪裏我會出錯?

回答

0

webhook不僅向提供的URL發送獲取請求,還以原始數據將其數據作爲JSON發送。

你的腳本可以處理嗎? 看看 gitlab-webhook-push.php

0

實際的問題是,gitlab無法訪問我們的域,並導致超時,當然,系統管理員決定限制從外部來源的訪問而不通知。另外還可以提一下,JSON原始數據可以用於更復雜的解決方案,這非常好。