
私は 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 があるかもしれませんので、それらを探してください。ただし、他のバージョンでこの問題がどのように解決されたかを読むときは注意してください。バージョンごとに構成と機能が大幅に変わることがよくあります (他のサポート パッケージも変更されている可能性があります)。