2016-10-08 78 views
0

尋找如何使用Spring Boot構建微服務的發佈管理的建議。微軟服務與彈簧啓動和發佈管理

我工作過的大多數項目都使用發佈插件(maven)來創建標籤以及發佈maven項目(jar,war,rpm)。通常,這在發佈過程中(monolith源代碼,所有生活在單個git存儲庫中)都依賴於所有子項目(jar,war)的maven父/子關係。我想知道人們如何維護不同的啓動項目(微服務)併發布。

我看到它的方式,以下是可能的策略:讓發佈獨立管理每git倉庫

  1. 一個彈簧引導項目(微服務Maven項目)。
  2. 一個多模塊maven項目,每個模塊都是微服務。所有子模塊(微服務)都必須一起發佈。父母pom將不得不使用Boot的父母pom。
  3. 依靠maven-release-plugin的功能,只能發佈基於發行版的某些子模塊。這將使每個maven子模塊具有不同的版本(可能)。

你的團隊發現有用嗎?我喜歡Boot的編程模型,但我希望我可以使用與Boot模型保持簡單一致的發佈策略。

+0

對我來說,只有1是一個有效的點。如果你像第2點那樣工作,那麼如果你必須或想要一起釋放它們,那麼在做微服務是毫無意義的。 – dunni

+0

我同意,但我懷疑這會隨着微服務的增加而增長,從而使微服務發佈管理變得複雜。 Lot的集成測試和迴歸測試。 – Alberto

+0

當然它會。這是微服務架構的一個缺點,您應該確保您可以處理它(即您應該擁有高度自動化的基礎架構)。 – dunni

回答

0

爲了關閉這個循環,我使用了選項1.雖然有多個存儲庫可能看起來很多,但實現微服務體系結構會阻礙一個良好的devops進程來簡化此發佈管理過程。