一千萬個為什麽

搜索

隔離編程項目的最佳方法?



不確定這是否是問題的最佳位置,但我有多個具有不同依賴關系的開發項目..我想知道隔離每個項目的最佳實踐是什麽?

我有許多不相關的項目,我的筆記本電腦設計和更新,但我通常將它們推送到rPi或VMs(esxi)。我想隔離各種項目,以便更容易跟蹤哪些依賴項屬於哪個項目,並阻止操作系統擁有項目“完成”後不需要的庫和其他deps。我為工作做了一些代碼,但它主要是幫助鄰居和當地SPCA的愛好。

我用的是什麽: 我通常在Debian盒或Windows 10上編程,這取決於我需要完成的任務。 我用Java,Python和典型的web東西(jscript,html,css)編程.. Bash和Powershell如果你考慮編程也是如此。 版本控制通過Gitlab完成。

轉載註明原文: 隔離編程項目的最佳方法?

一共有 2 個回答:

A more generic approach would be use a separate virtualized environment for each project, see . That could be either:

  • a container image - more lightweight, faster and definitely more popular these days, see
  • a virtual machine (VM) image, slower and a bit more heavier to maintain than containers

您將在虛擬化環境中安裝所有項目依賴項(IDE,庫,工具等),而不是系統本身。

當您開始處理項目時,您需要在計算機上創建/提供項目的相應圖像,並且可以刪除或保存它以便以後在某些外部存儲上重新使用。如果多個開發人員可以處理這些項目,則建議將共享工件存儲庫用作存儲。

這種方法的一個巨大優勢是,這種虛擬化環境在自動化的CI/CD管道中發揮得非常好,具有真正的DevOps精神,有助於最小化/消除開發和登臺/生產環境之間的差異。

Depending on the programming language and/or the supporting development tools being used on a particular project you may have some more specific approaches/alternatives. For example Pipenv or Virtualenv/ can be used to obtain such isolation for Python projects. But these solutions are typically not usable in other contextes.

http://microservices.io/

該網站解釋說,微服務不是聖杯,但給人的印象是如何實現它以及它如何有用。

關於這個問題:

隔離編程項目的最佳方法是什麽?

沒有一個適合所有人。這取決於目標。如果您的公司是商業公司,那麽最重要的是添加新功能。所以一塊巨石首先會很好。如果出現問題,可以應用奶酪切片器方法並將有問題的功能提取到微服務中。最重要的是盡快將它交給客戶。