現在我們正在和Jenkins一起作爲我們的CI和CD,我們也在使用敏捷方法(衝刺)。我想知道如何管理我的軟件版本。如何使用微服務管理持續交付?
例如,我們正在開發一個商業購物網站。該開發由一個消耗3個微服務的應用程序組成。
組件:
應用:是對用戶界面
微服務1:銷售
微服務2:用戶
微服務3:產品的
初始狀態購物網站:
我們從頭開始開發購物網站。正如我之前所說的,我們正在使用敏捷方法論(Sprint)。
Sprint 1:
- 開發產品微服務。
- 開發用戶微服務。衝刺1
的
結束到這個時候,我只能應用於微服務的測試,如單元測試,測試的合同,等等。因爲我不具備的應用就緒我不能讓端到端測試或基於整個系統的功能測試,以及我不能部署到UAT環境(向用戶展示測試版),因爲用戶不能夠進行探索性測試。所以現在我需要等到應用程序和銷售微服務完成後,才能向用戶展示測試版本並應用任何其他類型的測試。
Sprint 2:
- 開發銷售微服務。
- 開發應用程序。
衝刺結束2
既然所有組件都需要完成來完成用戶需求,我們可以繼續使用管道。在向用戶展示測試版之前,應用所需的所有測試。
因此,百萬美元的問題是,你如何與Jenkins和GitLab做這個場景?
我明白,微服務應該獨立於系統中的每個組件,但最終整個系統相互依賴,例如,如果我添加一個新的微服務,如「運輸」,這個新功能應該是這意味着在發佈新系統之前,我依賴於「運送」微服務和應用程序接口,因爲如果沒有這兩項開發,我就無法在部署到生產之前完全測試用戶要求。
P.S.我很抱歉在這篇文章中有任何混淆,但我在這個主題上補充了新的內容。
我不認爲你正在使用微服務,「應用程序」將取決於微服務似乎很奇怪。此外,你不清楚你在問什麼,你應該編輯你的問題,以更具體地說明你想要做什麼,命名你的工作,告訴我們應該先跑哪個工作,等等。 – Pom12
@ Pom12謝謝你的迴應,對於缺乏細節抱歉,我只是改變了描述。我希望更好,我會很感激你的幫助,因爲你知道我在這個話題上有點迷失。 –