我的要求是,無論何時開發人員推送到github,那麼在推送CI構建之前應該在Jenkins服務器上觸發。如果構建失敗,那麼推送給github應該被拒絕。 我需要爲此編寫鉤子,但我不想編寫客戶端鉤子,因爲它們可以被開發人員禁用。我想要服務器端的github webhooks或預先接收鉤子。Github webhooks - 預推鉤
現在,這甚至有可能實現嗎? 如果是,那麼從哪裏開始?我需要Rest API的知識嗎?我需要編寫shell腳本嗎?
我的要求是,無論何時開發人員推送到github,那麼在推送CI構建之前應該在Jenkins服務器上觸發。如果構建失敗,那麼推送給github應該被拒絕。 我需要爲此編寫鉤子,但我不想編寫客戶端鉤子,因爲它們可以被開發人員禁用。我想要服務器端的github webhooks或預先接收鉤子。Github webhooks - 預推鉤
現在,這甚至有可能實現嗎? 如果是,那麼從哪裏開始?我需要Rest API的知識嗎?我需要編寫shell腳本嗎?
這通常不是GitHub可能的工作流程。
你寧願使用「守衛提交」模型2 GitHub庫:
第在是必要條件是什麼我的項目,這是不能被改變
在這種情況下,最好是遵循Building a CI server將:
這意味着開發人員應該只推送到由您的服務器監控的「開發」分支,並且您的CI工程師如果編譯通過,e會將這些提交推送到主分支。
經過一番研究,我發現可以使用github的webhook來觸發jenkins構建,但如果jenkins的構建失敗,則無法拒絕github推送請求。所以,基本上,我們無法控制github的推動,至少不是免費的github賬戶。
如果我錯了,有人會糾正我。
我同意我的工作流程不常用,但這是我的項目的要求,這是我無法改變的項目。所以,我只想知道webhooks解決方案是否可行。 –
@GaurangaRathod然後總的想法保持不變,只有一個GitHub倉庫,但有兩個分支:我已經編輯了我的答案。 – VonC
您正在改變我的工作流程。我必須使用Github webhooks,並且我需要這些。 –