2017-02-13 82 views
0

我使用BitBucket設置了CodeDeploy。所以我可以通過Bitbucket UI部署我的最新提交。但每次部署它創建一個實例來bundle.tar這個目錄/opt/codedeploy-agent/deployment-root/bundle.tar如何在部署後從實例中刪除AWS CodeDeploy bundle.tar

我嘗試添加一個鉤子AfterInstall,簡單的bash腳本,只是查找並刪除創建的包,但它現在給我一個錯誤。沒有日誌。這裏是我的appspec.yml文件:

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文件:

#!/bin/bash 
find /opt/codedeploy-agent/deployment-root/ -type f -name bundle.tar -exec rm -f {} + 

如何設置CodeDeploy在所有對我的情況下,不創建bundle.tar文件?那可能嗎?如果沒有,如何在成功部署後將其刪除?

+0

我知道這是不是最好的解決辦法,但我設置cron作業來執行我的bash文件每日一次。如果有人可以幫助我找到更好的解決方案,我會感激。 – Artkik

+1

只有最後5份保存在服務器上。代碼部署代理需要它來比較來自當前文件的更改,和/或在部署之前是否存在任何文件衝突,以及在回滾的情況下,最好讓它在那裏。 –

+0

@AnkitSharma謝謝你的人!你是最棒的!我找不到任何有關這方面的信息。 – Artkik

回答

相關問題