一千萬個為什麽

搜索

用純粹的碼頭工人開始開發,或者像流浪漢那樣(在一個待碼頭化的應用程序中)?



我有一個Ruby on Rails應用程序,這個應用程序已經存在了一段時間,到目前為止已經完全實現了。一切安好;但是由於我們部署的環境(測試,質量保證,幾個生產環境)數量不斷增加,我決定對此進行對接。

顯然,副作用應該是新開發人員更快上手。

目前,我已經制作了Dockerfile來構建應用程序並運行它;我很高興,一切都很好。我現在正在思考如何繼續前進:

  • 或者讓測試可以通過一個簡單的docker命令來運行 - 這樣日常的開發循環就只是由編輯 - 重建 - 運行 - 測試組成(或者,對於那個循環,我們可能更願意在容器之外掛載/綁定實際由dev編輯的源代碼,所以我們保存了顯式的“重建”。沒有什麽需要預編譯等等來運行測試。)。
  • 或者使用像Vagrant這樣的簡化開發環境的方法,並且不會真正將Docker用於實際的編輯測試周期。

我強烈地傾向於第一種選擇(即KISS),但我沒有經驗來處理這個問題。由於我沒有像Vagrant這樣的專註於開發人員視角的工具方面的實際經驗,所以我無法真正地談論第二個問題。

其他開發人員對這些工具沒有特別的經驗,所以無論我選擇哪種方法,最好都是非侵入式的。到目前為止,每個人都有自己開心,配置良好的虛擬機。我們並沒有遇到任何與開發人員VM分歧的問題,或類似的問題(畢竟這是Ruby)。

Questions: is there anything wrong with going for my first scenario? Are there huge benefits introducing something else aside of docker at this very early stage of our team digging into DevOps tools?

轉載註明原文: 用純粹的碼頭工人開始開發,或者像流浪漢那樣(在一個待碼頭化的應用程序中)?

一共有 1 個回答:

在這種情況下,Vagrant只會在您的測試環境中添加大量不必要的開銷。您可以創建容器,快速測試特定功能組並將結果粘貼到某個位置。您的團隊不會花太多時間學習如何啟動這些容器,因為它通常只是一個簡單的命令。大部分更改將在代碼內完成,而不是在測試環境中完成。但是,如果您需要更改測試環境,則Dockerfiles必須位於易於訪問的位置。您還可以自動化將Dockerfile(例如從GitHub存儲庫)鏈接到DockerHub或Store的容器的構建過程。 我看不出有什麽理由不去Docker。這些知識對於你的團隊來說比Vagrant技能更有用。

You can read more about it here: https://stackoverflow.com/questions/16647069/should-i-use-vagrant-or-docker-for-creating-an-isolated-environment