為所有使用者安裝 Ruby/Rake 的首選方式
我們有幾個不同的伺服器設置來處理我們的旗艦產品。我們有一個開發伺服器、一個展示/登台伺服器和一個生產伺服器。所有這些都在 Debian 或 Ubuntu 的某些變體上執行。
為了管理新客戶端的創建、壓縮備份、列出統計數據等等;我創建了一個新的 Git 儲存庫(託管在GitHub 上),其中包含一堆 Rake 任務。然後我使用rvm安裝 Ruby 並使用bundler安裝必要的 gem,並使用它
rvmsudo rake my_task
來執行任務。在我有一個新的開發人員加入該項目之前,這非常有效。他必須下載 rvm,安裝 ruby,並安裝所有適當的 gem 才能讓它工作,而且他很難弄清楚是否使用它,
sudo
或者rvmsudo
因為它在每台機器上的設置略有不同。所以,我想重新開始並在每台伺服器上重新安裝所有內容。理想情況下,我希望我的開發人員將 Git 儲存庫複製到他們的主目錄(以防他們自己修改 rake 任務)並使用 sudo 或 rvmsudo 執行 rake 任務。我想把它標準化,這樣他們就不必猜測它是哪一個了。
我記得在使用預設包管理器安裝最新版本的 Ruby、Rails 和 Rake 時遇到了一些麻煩,
apt-get
這就是我轉而使用 rvm 的原因,但看起來這可能是一個糟糕的選擇。那麼,有沒有人知道一個很好的指南或有任何關於如何在伺服器上設置 Ruby/Rails/Rake 的指示,以便所有具有 sudo 訪問權限的開發人員都可以執行命令而不必擔心安裝任何東西?
非常感謝!
聽起來您在標準化環境方面邁出了重要的第一步。恭喜 - 您經歷了短暫的痛苦,然後是系統管理員 Nirvana。
說真的,花一個月的時間,在可預見的未來建構您希望您的系統看起來像的樣子,然後開始製定計劃,使用某種部署工具(puppet或chef是當今最常見的)在任何地方部署它。
部署工具和標準化解決了您的主要問題:每台機器上的一切都將以相同的方式工作。
就將軟體安裝到模板機器上並選擇工作方式而言,我對基於 Debian 的系統的建議是盡可能使用安裝所有內容
apt
,但如果您使用的是部署工具,它就不是那麼重要了:您的系統將由工具進行部署、修補和維護,因此您永遠不應該在實時伺服器上進行一次性修補。(是的,有時會發生這種情況,但請記住,您的部署工具會影響這些更改,因此請確保在某些時候以正確的方式進行操作。)在推出之前,請務必讓您的開發人員有機會使用新環境(VMWare 實驗室非常好)…