web-dev-qa-db-ja.com

OSパッケージ管理(deb、rpm)を使用してWebアプリのデプロイを管理する際のベストプラクティスまたは落とし穴は何ですか?

週末の講演でこれについて聞いたのですが、いくつかの理由から素晴らしいアイデアのように思えました。

  • 依存関係が満たされ、壊れていないことを確認します(たとえば、Webアプリには特定のバージョンのimagemagickが必要です)
  • 新しいサーバーの起動を高速化するのに役立ちます
  • oSパッケージとの一貫性と展開の容易さ
  • (潜在的に)Apache、phpなどへの変更がコードの依存関係で最新に保たれるように、コードで構成を更新し続ける。 構成管理に入っているため、これは灰色の領域であることがわかります。
1
er1234

何も悪いことはありません。それは確かにデフォルトよりも優れています。あまりにも多くの人が、各サーバーのバージョン管理からチェックアウトするだけです。ただし、Web展開用に作成されたプログラムほど良くはありません。私は個人的に deploy resouce でchefを使うのが好きです。

デプロイリソースは、svnまたはgitから新しいディレクトリへのチェックアウトを実行し、構成ファイルをシンボリックリンクしてから、Webサーバーがそこを指すために使用したシンボリックリンクを変更します。これは、必要に応じて、レシピを変更するのと同じくらい簡単にロールバックできることを意味します。次に、シェフはシンボリックリンクを変更するだけです。

それは本当にすべて主観的です。 Chefには学習曲線がありますが、多くの管理タスクが簡素化されます。また、「サーバーのスピンアップ」、依存関係の管理、構成ファイルの更新を簡単に行うことができます。パッケージ管理、構成管理、およびシステム管理を1か所で組み合わせることができます。

編集:シェフに関する詳細情報を追加しました

1
Stephen