我在考慮微服務體系結構,並想知道人們是否擁有開發環境的良好最佳實踐。如何爲微服務構建簡化的開發環境
我的工作假設是每個微服務都將存在於它自己的git存儲庫中,以實現隔離和部署的簡便性。我還假設每個開發人員都會創建他們正在處理的任何回購的分支。
我正在考慮的問題出現在您正在處理涉及多個微服務的問題上。例如,影響一項微服務的缺陷以及它如何適當地消耗另一項微服務。
假設有n個項目涉及缺陷,您必須簽出n個git存儲庫並將其配置爲一起工作。如果它們每個都有Vagratefile和Dockerfile,則最終運行n個虛擬機。理想情況下,您只有1個Vagrant虛擬機,每個服務器只會是同一個虛擬機中的新Docker實例。
使用git子模塊的主repo /項目可以工作。問題是如果我們創建一個通用的主repo/project,那麼子模塊將指向上游而不是開發者的fork。
我現在正在考慮一個有一些配置,流浪和無花果的主項目可能會訣竅。我目前正在考慮實施這種方法的兩種方法。
- 提供一個配置的一些默認設置即PROJECT_1應設在 ../project_id等
- 提供一個腳本,將根據用戶的帳戶GitHub的子模塊創建 ,這將創建遠程對 用戶的叉子以及上游項目的遠程設備。
有其他人解決了這個問題或者有一個好的工作流程嗎?
這是主項目圖的配置如何將設置一個很好的例子。 http://stackoverflow.com/questions/27408510/developer-environment-how-to-call-consume-other-micro-services –
你想出了一種處理Git的方法嗎?這是一個有趣的問題。 –