2017-06-12 57 views
0

我的要求是每當開發人員嘗試檢入現有的GitLab存儲庫,然後在存儲庫中籤入之前,構建應該觸發(Jenkins構建)並且Junit測試用例應該在新的簽入中運行,如果通過則應該去轉發並允許開發人員在主存儲庫中執行檢入。如何實現GitLab Repository的門控簽入?

我不知道,但前鉤提交能夠達到這一要求?

+2

發佈提示:請不要將您的電子郵件地址添加到帖子中 - 如果您願意,請將其添加到您的個人資料中。讀者喜歡在公共場合幫助,以便將來的讀者可以從談話中受益。此外,最好不要指望您可以輸入完整的解決方案 - 讀者很樂意提供建議和幫助,但我們希望海報能夠幫助並將其與自己的努力結合起來。希望有所幫助! – halfer

回答

1

雖然你可以用預提交掛鉤做到這一點,這是比較常見的與服務器端的post-commit掛鉤這樣做。

您可以通過操作一個基於工作流的分支實現這一目標,有多個可供選擇 - 我會建議通過這個guidance by Atlassian閱讀。

開發商將從「主」分支創建分支(通常掌握,但也可以是「開發」分支向例如釋放工作),然後制定該分支代碼。然後他們將推送他們的分支並提交到遠程倉庫(GitLab)。準備合併到主分支時,開發人員可以在主分支上打開合併請求。

在GitLab你可以設置一個網絡掛接觸發時推事件發生時,詹金斯的基礎之上。我會推薦this guide to guide you through it

在GitLab項目設置,您可以要求通過構建之前合併請求被允許合併。


此外,你對Git的理解看起來不正確 - 檢入不是在Git中使用的術語。請看一下Git文檔。在Git中,開發人員創建對本地存儲庫副本的提交,然後將這些提交到遠程存儲庫(GitLab/GitHub等)。在各種集中版本控制系統中使用的「登記」沒有直接的等價物,例如, SVN。