2015-01-11 40 views
6

我在考慮微服務體系結構,並想知道人們是否擁有開發環境的良好最佳實踐。如何爲微服務構建簡化的開發環境

我的工作假設是每個微服務都將存在於它自己的git存儲庫中,以實現隔離和部署的簡便性。我還假設每個開發人員都會創建他們正在處理的任何回購的分支。

我正在考慮的問題出現在您正在處理涉及多個微服務的問題上。例如,影響一項微服務的缺陷以及它如何適當地消耗另一項微服務。

假設有n個項目涉及缺陷,您必須簽出n個git存儲庫並將其配置爲一起工作。如果它們每個都有Vagratefile和Dockerfile,則最終運行n個虛擬機。理想情況下,您只有1個Vagrant虛擬機,每個服務器只會是同一個虛擬機中的新Docker實例。

使用git子模塊的主repo /項目可以工作。問題是如果我們創建一個通用的主repo/project,那麼子模塊將指向上游而不是開發者的fork。

我現在正在考慮一個有一些配置,流浪和無花果的主項目可能會訣竅。我目前正在考慮實施這種方法的兩種方法。

  1. 提供一個配置的一些默認設置即PROJECT_1應設在 ../project_id等
  2. 提供一個腳本,將根據用戶的帳戶GitHub的子模塊創建 ,這將創建遠程對 用戶的叉子以及上游項目的遠程設備。

有其他人解決了這個問題或者有一個好的工作流程嗎?

+1

這是主項目圖的配置如何將設置一個很好的例子。 http://stackoverflow.com/questions/27408510/developer-environment-how-to-call-consume-other-micro-services –

+0

你想出了一種處理Git的方法嗎?這是一個有趣的問題。 –

回答

1

我決定去圖。

如果微服務依賴於另一個微服務圖將參考使用../

這是假設所有的服務都簽出作爲兄弟這項服務。這也可以很容易地使用git子樹來完成。

我的dev_ops攝製包含了我對boot2docker流浪文件等

相關問題