我聽到很多關於基於trunk的開發的信息。我不明白如何在進行基於主幹的開發時與Jenkins持續集成。我們使用git進行組織中的版本控制。Jenkins在使用基於trunk的開發時構建
詹金斯的工作是設置爲輪詢Git的任何變化,如果檢測到踢任何構建和一旦構建成功開始部署。
所有的開發人員都可以訪問jenkins,並且可以將構建配置爲在不同的分支上啓動。然後將此代碼部署到dev實例中進行測試。如果開發人員認爲它沒問題,那麼他們重新配置jenkins以構建主指向。這是手動的,由開發人員來完成。
有一個管道作業定期運行並用標準作業覆蓋Jenkins作業。所以,即使開發者留下了螺絲釘的配置,仍然Jenkins設法保持構建狀態。
現在我的問題在工作功能/錯誤修復分支與多個提交,CI/CD過程的最佳做法是什麼?
a)開發人員將在他們的每個提交之後指向他們的分支並將其部署到開發實例。據我所知,這是手動的,開發人員很容易忘記這一點。
b)開發人員將Jenkins構建到其分支,然後再提出Pull請求並將其部署到開發實例。如果有多個提交,則由於任何提交,構建/部署可能會失敗。這也是手動的,對於調試可能很痛苦。
c)開發人員將在本地運行構建以確保測試通過。部署是一個黑暗的藝術,將留給其他人弄清楚。拉申請後,詹金斯將運行構建,以確保所有測試通過。這是自動的。現在,如果構建/部署失敗,開發人員將會發現哪裏出了問題。