Linux 上 capistrano 到 tomcat 部署的典型使用者設置

Linux 上 capistrano 到 tomcat 部署的典型使用者設置

我對 CD 和 DevOps 主題相對較新,我正在嘗試使用 capistrano 設定自動部署,這在我的本地臨時測試環境中運作良好。然而,我想知道如何在未來的目標環境中理想地設定用戶。

例如,Ubuntu Tomcat 安裝過程設定了一個擁有 tomcat 進程的 tomcat(6|7) 使用者。但是,無法使用此使用者透過 ssh 進入盒子,對於 capistrano,您需要一個具有 ssh 存取權限的使用者來執行所有命令。人們通常如何解決這個問題?當然,我想到了自己的解決方案,但我有興趣聽聽看是否有最佳實踐。

最終會有另一方設定我的目標環境,但我可以對此有發言權,所以我想知道我在這裡理想地想要什麼。

答案1

有多種方法可以做到這一點,但最重要的一種是設置系統,以便啟用 SSH 的部署使用者(您需要設定)可以根據需要模擬 tomcat 或 root 來進行部署。實際的程式碼目錄可能由 tomcat 擁有,或者可能由具有設定權限的部署使用者擁有,以便 tomcat 可以使用這些檔案。

desc "Restarts the tomcast service"
task restart_tomcat do
  set :user, "deployuser"
  run "sudo service tomcat restart", :roles => :tomcat_servers
end 

或諸如此類。如果 sudo 需要密碼,capistrano 會足夠聰明地提示您輸入密碼。

答案2

查看該軟體包的官方建議,以了解如何設定。查看您選擇的發行版如何管理其軟體包中的問題。可能有一些關於發行版或軟體包的 HOWTO,請尋找它們。但在閱讀其他版本中如何解決此問題時要小心,經常會發生配置和功能從一個版本到下一個版本發生根本性變化的情況(其他支援包也可能發生變化)。

相關內容