我想用我的項目實現CI和CD的概念,我想用Jenkins,SonarQube和docker一起使用它,現在我感到困惑,我怎麼能夠設計系統架構師我的項目與這些工具。我的項目開發流程將如何部署?使用CICD工具進行項目生產
回答
這是一個廣泛的問題,但基本上你要做的是將Jenkins中的構建管道放在一起,當開發人員將更改推送到源代碼管理時觸發。管道會做這樣的事情:
- 構建項目,運行單元測試& SonarQube分析
- 建立其封裝了應用&它的依賴泊塢窗圖像
- 從圖像&運行泊塢容器運行集成測試
- 運行/升級QA環境中的碼頭集裝箱並運行冒煙測試
- 運行/升級生產中的碼頭集裝箱
有很多變化,但核心思想是有幾個階段,每個階段都有自己的質量門,並且都是自動的。例如。如果單元測試失敗,管道將失敗,並且您不會構建映像;如果集成測試失敗,則不要部署到QA環境等。
使用Docker的優點是每個階段都使用完全相同的應用程序堆棧,因爲它捆綁在映像中。您在prod中部署的內容是您從QA批准的內容,即通過集成測試的內容。
您可以在產品發佈之前設置手動質量門,供人類檢查應用程序。這不是完全自動化的CD,但它可以讓人更舒適。
謝謝埃爾頓,這對我很有幫助。 –
此外,[這個免費的Codeship電子書](https://resources.codeship.com/ebooks/continuous-integration-continuous-delivery-with-docker)是一個很好的介紹整個領域。 –
- 1. 使用Android回購工具進行個人項目
- 2. 斯卡拉2.8生產工具使用
- 3. 生產者 - 消費者產生一個項目,並立即進行消費(JAVA)
- 4. 生產Angular2項目
- 5. 使用遷移工具進行生產的分步指南SailsJS系統
- 6. 使用npm和grunt進行開發和生產的Javascript項目結構
- 7. 使用DAX進行生產計劃
- 8. 使用laravel mix進行生產
- 9. 在wamp上安裝expect laravel項目進行預生產
- 10. 用於使用主題地圖進行導航的項目跟蹤工具?
- 11. 使用netbeans運行maven jgroups項目時產生java.lang.NoClassDefFoundError
- 12. 使用工具進行並行編程
- 13. 在項目生命週期中使用Fortify工具
- 14. 春季項目使用休眠工具
- 15. 如何在iOS項目中對工具欄項目進行分組?
- 16. 如何爲wxwidgets/C++項目進行工具鏈配置?
- 17. 使用cmake進行項目特定設置 - > eclipse CDT項目生成器?
- 18. 導出用於生產的pyCharm項目
- 19. 使用gulp進行角/離子項目的doc生成
- 20. 設置Angular進行生產
- 21. 使用命令行工具編譯單聲道項目
- 22. 使用命令行工具作爲Webstart部署OSGi項目
- 23. 如何使用Ember CLI進行生產準備生成?
- 24. PHP分叉工具產生殭屍進程
- 25. 對TFS工作項目進行分類
- 26. 使用grunt進行自定義項目
- 27. 使用Maven進行C#項目管理
- 28. 使用Maven進行項目分發
- 29. 使用Eclipse進行存儲項目
- 30. 使用svn和xampp進行php項目
此問題似乎並不涉及幫助中心定義的範圍內的編程。 –