部署后如何从实例中删除 AWS CodeDeploy bundle.tar
How to remove AWS CodeDeploy bundle.tar from instance after deploy
我使用 BitBucket 设置了 CodeDeploy。所以我可以通过 Bitbucket UI 部署我最新的提交。但是每次部署都会在这个目录 /opt/codedeploy-agent/deployment-root/
的实例上创建一个 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 文件?那可能吗?如果没有,我如何在成功部署后删除它们?
您实际上可以配置您希望 CodeDeploy 存储的最大修订。
http://docs.aws.amazon.com/codedeploy/latest/userguide/host-cleanup.html#host-agent-cleanup
我使用 BitBucket 设置了 CodeDeploy。所以我可以通过 Bitbucket UI 部署我最新的提交。但是每次部署都会在这个目录 /opt/codedeploy-agent/deployment-root/
我试图添加一个钩子 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 文件?那可能吗?如果没有,我如何在成功部署后删除它们?
您实际上可以配置您希望 CodeDeploy 存储的最大修订。
http://docs.aws.amazon.com/codedeploy/latest/userguide/host-cleanup.html#host-agent-cleanup