CodeDeployにBitBucketを設定しました。だから私は最新のコミットをBitbucket UI経由で展開することができます。しかし、すべては、それは私がちょうど発見し、作成したバンドルを削除するフックAfterInstall
、簡単なbashスクリプトを追加しようとしました。このディレクトリ/opt/codedeploy-agent/deployment-root/
デプロイ後にインスタンスからAWS CodeDeploy bundle.tarを削除する方法
にインスタンス上bundle.tarを作成し、配備するが、それは今私にエラーを与えます。ログには何もありません。ここに私のappspec.ymlファイルされる:私のインスタンス上ですべてのファイルをbundle.tar作成しないためにCodeDeployを設定する方法を
#!/bin/bash
find /opt/codedeploy-agent/deployment-root/ -type f -name bundle.tar -exec rm -f {} +
:
version: 0.0
os: linux
files:
- source:/
destination: /var/www/html/mysite.com
permissions:
- object: /var/www/html/mysite.com
pattern: "**"
owner: user
group: www
mode: 444
type:
- file
- object: /var/www/html/mysite.com
pattern: "**"
owner: user
group: www
mode: 555
type:
- directory
hooks:
AfterInstall:
- location: /usr/local/scripts/deploy/remove-bundle-after-deploy.sh
timeout: 180
runas: root
ここremove-bundle-after-deploy.sh
ファイルはありますか?それは可能ですか?そうでない場合は、デプロイが成功した後にどのように削除できますか?
私はこれが最善の解決策ではありません知っているが、私は一日一回私のbashのファイルを実行するcronジョブを設定。もし私がより良い解決策を見つけるのを助けるものがあれば、それを感謝します。 – Artkik
最後の5つのコピーのみがサーバーに保持されます。現在のファイルからの変更を比較するために、コードデプロイエージェントによって必要とされます。また、展開前にファイルの競合が存在する場合、ロールバックの場合はそこに置くのがベストです。 –
@AnkitSharmaありがとう、男!あなたは最高です!私はそれに関する情報を見つけることができませんでした。 – Artkik