私はだシェフに探し EC2のような標準的なMagentoのホスティングオプションだけでなく、環境に両方- Magentoの展開を自動化します。私はググってみて、たくさんのレシピを見つけましたが、どれも標準的なものとして私を実際に攻撃するものはありません。より良い/最高の特定のシェフスクリプトはありますか?また、PHPを使用してchefのデプロイを以前に行ったことがある場合は、始めたときに知っておいてほしいことは何ですか。
私はだシェフに探し EC2のような標準的なMagentoのホスティングオプションだけでなく、環境に両方- Magentoの展開を自動化します。私はググってみて、たくさんのレシピを見つけましたが、どれも標準的なものとして私を実際に攻撃するものはありません。より良い/最高の特定のシェフスクリプトはありますか?また、PHPを使用してchefのデプロイを以前に行ったことがある場合は、始めたときに知っておいてほしいことは何ですか。
回答:
万能のルーチンセットを用意することはほぼ不可能です。chef-client
が提供するホストのリストでrun を実行するBashスクリプトを作成することに成功しましたknife search
。手順は次のようになります…
$branch
n98-magerun.phar
n98-magerun.phar
$revision
れた新しいリリースをチェックアウトしますソース:https : //gist.github.com/parhamr/6177160#file-2-deployment
これはどのように私がきた /なりたいシステム管理者を身に着けている間、この領域に近づい役割をDevOpsチーム。以下のほとんどは、私が従おうとする一般的な原則にすぎず、シェフ固有のものではありません。
当時はより多くのリソースがあることに気づき、私にとってPuppetを選びました。
私はapacheやphp5などの利用可能なさまざまなビルド済みモジュールを調べました。それらの多くは必要以上に機能しているようで、プラットフォームに慣れていないため、何が起こっているのか信頼できませんでした。各ノードタイプで実行する必要があることを特定するだけの方が簡単だと判断しました。
私は、チームのローカル開発環境(vargrant + virtual box)をプロビジョニングすることからプロセスを開始しました。各サービス/コンポーネントについて、モジュールを作成しました:php5、apache2、redis、mysqlなど。
開発環境が安定して動作するようになったら、QA環境の構築を開始しました。devと同じモジュールを再利用するWebサーバー、redis、varnishなどの汎用ノードタイプを定義しました。これが完了すると、ステージングとプロダクションには、最小限の変更が必要です。
レシピ/テンプレートを作成して作成するときに、再利用/一般化できるかどうかを検討する必要があります。ディストリビューション/プロジェクト/環境間で変化する可能性のあるパスやユーザー/グループなどをハードコーディングしないでください。あなたが一般化されたアプローチを見ているので、私は大きなハードルが* nixディストリビューション間の違いを扱うことになると思います。
最も重要なことは、キープがシンプルであることです。環境の最も重要で時間のかかる部分を自動化/標準化します。繰り返し、進化する。