2017-02-13 7 views
0

CodeDeployにBitBucketを設定しました。だから私は最新のコミットをBitbucket UI経由で展開することができます。しかし、すべては、それは私がちょうど発見し、作成したバンドルを削除するフックAfterInstall、簡単なbashスクリプトを追加しようとしました。このディレクトリ/opt/codedeploy-agent/deployment-root/bundle.tarデプロイ後にインスタンスから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ファイルはありますか?それは可能ですか?そうでない場合は、デプロイが成功した後にどのように削除できますか?

+0

私はこれが最善の解決策ではありません知っているが、私は一日一回私のbashのファイルを実行するcronジョブを設定。もし私がより良い解決策を見つけるのを助けるものがあれば、それを感謝します。 – Artkik

+1

最後の5つのコピーのみがサーバーに保持されます。現在のファイルからの変更を比較するために、コードデプロイエージェントによって必要とされます。また、展開前にファイルの競合が存在する場合、ロールバックの場合はそこに置くのがベストです。 –

+0

@AnkitSharmaありがとう、男!あなたは最高です!私はそれに関する情報を見つけることができませんでした。 – Artkik

答えて

関連する問題