2017-02-26 87 views
1

早些時候,我從事Ruby on Rails的工作。 我們所有的開發人員都用來從docker中提取最新的圖像。 一旦碼頭啓動並運行,我們就可以在本地進行開發。 代碼更改完成後,我們用來推送到我們各自的git分支,一旦合併完成,我們就會將其部署到生產環境中。 該應用程序託管在Heroku上。如何在unix中爲每個團隊成員設置java的開發環境

(正如你可以看到用自己的本地副本。postgress數據庫的配置和虛擬數據已經被設置爲本地所有的開發商)

現在,作爲一個新的啓動,我們正在使用Java,春天,冬眠,石英。

我們想要建立類似的架構,就像我在開始討論的那樣。

我在谷歌尋找解決方案。許多作者和文章都建議使用jenkins和github,但沒有一篇文章提到完整的開發環境設置過程,因此每個開發人員都可以獨立工作。

主要目標 -

  1. 每個開發人員都必須得到它的他/她自己的本地副本和工作(Java)的
  2. 預配置的數據庫在本地
  3. 轉儲虛擬數據
  4. 部署過程(什麼是最好的Java應用程序託管服務,像她奧鋼軌)

終極目標: - 新joinee來運行shell腳本和整個開發環境設置爲他,他就可以開始貢獻在同一天本身的項目。

哪個數據庫應該與java一起使用,因爲它是一個啓動,數據庫的性能和Java的可靠性和成本?(Mysql或posstgresql或任何其他)

考慮到這是一個啓動,數據庫的性能和成本以及Java的可靠性,應該再次使用哪個操作系統?(Ubuntu的或Windows,目前我們對Ubuntu的)

什麼是最好的解決方法是(循序漸進),用於爲每個開發人員建立獨立完整的開發環境,同時使用Java,spring,hibernate的石英技術

回答

0

我會回答我們曾經在之前的一個創業公司做過的事情。爲我們工作得很好,也許還有其他更好的選擇。

  • Postgres是一個很好的分貝。
  • 我們使用Centos在本地生產Fedora,所以它將成爲同一個linux系列。無論如何,我沒有看到有任何理由使用Windows進行開發。
  • 您可以使用hibernate從您的java pojo實體創建數據庫模式和表。
  • 我們有預先填充某些表所需值的腳本。例如。用戶表。
  • 通過執行maven命令,所有腳本被集成到運行。
  • 我們使用腳本來創建開發環境,配置本地apache httpd代理和許多其他的東西。這可能相當複雜。
  • 我們使用Artifactory來保存和緩存當前和以前的maven工件,我們的產品和我們的maven依賴項。
  • 至於石英,它應該不成問題。注意Spring和Quartz的集成,使用它。
  • 我們使用本地Gitlab作爲我們的回購。
  • 我們使用本地託管Jenkins作爲我們的CI。
+0

嘿非常感謝您的回覆,但請您詳細說明我們使用腳本創建開發環境,配置本地apache httpd代理和許多其他事情。這可能相當複雜。任何鏈接的詳細步驟,或者你可以從你的末端給你一個深刻的見解 和 如何使用Artifactory來保存和緩存當前和以前的maven工件,我們的產品和我們的maven依賴項(我正在通過Artifactory官方文檔) – user3677291

+0

關於腳本 - 它做了很多事情,但基本上是我們用來在服務器上安裝Web應用程序的所有腳本(在一個乾淨的環境中),也安裝在我們自己的開發機器上。 現在我還記得,在某個時候我們開始使用廚師,然後我們用來安裝新服務器的食譜也可以安裝一個新的環境(有許多已經制作的廚師可以使用)。工作環境和產品環境之間幾乎沒有區別。 但是,也許碼頭工人仍然可以使它更容易。 – yishaiz

+0

至於Artifactory(對於腳本也有所不同),我不能在這裏深入探討更多細節。但網上應該有大量的教程 – yishaiz