2017-03-03 33 views

回答

1

檢查 「Custom Git hooks setup」:

通常情況下,Git的鉤子放到倉庫或項目的掛鉤目錄。 GitLab從每個項目的hooks目錄創建一個符號鏈接到gitlab-shell掛鉤目錄,以便於在gitlab-shell升級之間進行維護

這解釋了爲什麼你的鉤似乎傳播到所有組的回購。

按照以下步驟設置自定義掛鉤:

  • 選擇需要自定義的Git掛鉤的項目。
  • 在GitLab服務器上,導航到項目的存儲庫目錄。對於源代碼安裝,路徑通常是/home/git/repositories/<group>/<project>.git
    對於Omnibus安裝路徑通常爲/var/opt/gitlab/git-data/repositories/<group>/<project>.git
  • 在這個位置創建一個新的目錄,名爲custom_hooks
  • 在新的custom_hooks目錄中,創建一個名稱與鉤子類型匹配的文件。
    對於pre-receive掛鉤,文件名應爲pre-receive,不得包含擴展名。
  • 使鉤子文件成爲可執行文件並確保它屬於git。
  • 編寫代碼,以使Git的鉤子函數如預期
+0

我有問題。現在,我的鉤子不起作用。我已經改變了文件夾的所有者,鉤子的所有者,所有名稱都是實際的,我已經使鉤子可執行。我正在使用post-receive將代碼部署到文件夾(/ etc/* destination_folder /),甚至授予我想要部署的文件夾的777權限,但它不起作用。你能談談這個問題嗎? – lucas63

+0

「我的鉤子不起作用。」你有錯誤信息嗎?嘗試在你的鉤子中添加一些echo以查看它們是否被執行(並且使用'env'命令查看腳本使用哪個環境變量) – VonC

+0

如何檢查它?當我使用這個鉤子作爲全局項目時 - 它完美地工作 – lucas63