公司計劃推行持續交付,系統更新部署再也不經過人工操做,咱們打算使用GitLab來管理源代碼,Jenkins打包項目,RunDeck將打包好的項目部署到生產環境。測試
在網上查了不少資料,流程大概是開發人員在GitLab中提交一個Merge Request將開發分支合併到master中,負責代碼審覈的人贊成提交後,會觸發Jenkins自動打包項目並部署到測試環境,在經過一系列自動化測試後,就會部署到生產環境。.net
不過這個流程不太符合咱們的要求,緣由以下orm
因而咱們修改了這個流程,修改後的流程中有三個階段:開發測試階段,預發佈階段,發佈階段blog
開發測試階段開發
每次開發人員push開發分支到GitLab,都會觸發Jenkins自動打包項目並部署到測試環境,測試部門能夠在測試環境對項目進行測試部署
預發佈階段get
與開發測試階段相似,只是開發人員push的不是開發分支,而是預發佈分支,部署的環境也不是測試環境,而是預發佈環境it
發佈階段自動化
因爲只靠GitLab,Jenkins和RunDeck沒法實現上述的發佈階段,因此須要開發一箇中間系統專門處理這些部署信息,咱們把它命名爲IT AutoDeploy Platform,加入了這個中間系統後,整個發佈階段的流程圖以下ast
在 基於GitLab,Jenkins和RunDeck的持續交付系統(二) 中將會大概描述一下這個系統的實現