codedeployagent.yml
ファイルのmax_revisions
の値を編集して、EC2インスタンスに保存されている正常なコード配布リビジョンの数を制限しようとしています。私は現在、値を:max_revisions: 2
に設定しています。制限コードmax_revisions値を使用したリビジョンの展開が機能しない
私は、ファイルの値を設定しているという方法が原因であると考えています。私は、コードデプロイメントパッケージでデプロイすることによって価値を設定しようとしています。私は次の行で、このファイルのインストール場所を指定しています私のappspec.yml
ファイルで
etc/codedeploy-agent/conf/codedeployagent.yml
:これを行うために、私は次の場所にローカルにカスタムcodedeployagent.yml
ファイルを作成している
- source: etc/codedeploy-agent/conf/codedeployagent.yml
destination: /etc/codedeploy-agent/conf
スクリプトが既に存在するために展開しようとすると、このエラーが発生することがわかりました。この問題を回避するには、私は、パッケージのインストールにスクリプトを前に削除されます私のappspec.yml
でBeforeInstall
のフックスクリプト追加しました:オーケー
#!/bin/bash
sudo rm /etc/codedeploy-agent/conf/codedeployagent.yml
を、ので、この後、私は、サーバーと確かにD」ssh
を持っています十分な場合、:max_revisions: 2
の値は期待どおりに設定されます。残念なことに、実際には私はec2
のインスタンスに保存されている2つだけのリビジョンよりも多くのリビジョンを見ています。
私の質問の最初に戻る...この回避策は、codedeployagent.yml
ファイルを更新する最良の方法ではありません。私は、自動スケーリンググループに展開しているということを付け加えてください。これは、単にログインして値をハードコーディングするのではなく、展開スクリプトまたはクラウドフォーメーションテンプレートに保存できるソリューションである必要があります。このすべての情報で、私はここで何が欠けていますか?どのようにしてリビジョンを適切に制限できますか?ありがとう。
はい、これは意味があり、 'sudo service httpd restart'を実行するコード配布用の' ApplicationStart'フックの間に起動されるサーバー再起動があります。あなたは設定ファイルの変更のために別のフックでこれが必要だと思いますか? – Presto
私は 'ApplicationStart'フックに次の行を追加しました:' sudo service codedeploy-agent restart'私は ':max_revisions:1'も変更しました。もう一度デプロイした後、 '/ opt/codedeploy-agent/deployment-root/12 ... 83 /'ディレクトリをチェックし、そこに2つの正常なリビジョンパッケージがあります。それはちょうど1つではありませんか? – Presto
最後に、私は 'max_revisions'値を正しく理解していないことに気付きました。 1に設定すると、実際には2が保持されます.1つは現在のデプロイメント用に保持され、次に1つ前のデプロイメント用に保持されます。ありがとう。 – Presto