我使用BitBucket設置了CodeDeploy。所以我可以通過Bitbucket UI部署我的最新提交。但每次部署它創建一個實例來bundle.tar這個目錄/opt/codedeploy-agent/deployment-root/
如何在部署後從實例中刪除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文件?那可能嗎?如果沒有,如何在成功部署後將其刪除?
我知道這是不是最好的解決辦法,但我設置cron作業來執行我的bash文件每日一次。如果有人可以幫助我找到更好的解決方案,我會感激。 – Artkik
只有最後5份保存在服務器上。代碼部署代理需要它來比較來自當前文件的更改,和/或在部署之前是否存在任何文件衝突,以及在回滾的情況下,最好讓它在那裏。 –
@AnkitSharma謝謝你的人!你是最棒的!我找不到任何有關這方面的信息。 – Artkik