如何在部署后从实例中删除AWS CodeDeploy bundle.tar

时间:2017-02-13 18:40:05

标签: linux amazon-web-services aws-code-deploy

我使用BitBucket设置CodeDeploy。所以我可以通过Bitbucket UI部署我最新的提交。但是每次部署它都会在实例上创建一个bundle.tar到这个目录/opt/codedeploy-agent/deployment-root/ bundle.tar

我尝试添加一个钩子AfterInstall,这个简单的bash脚本只是找到并删除创建的bundle但它现在给了我一个错误。日志中没有任何内容。这是我的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文件?那可能吗?如果没有,成功部署后如何删除它们?

1 个答案:

答案 0 :(得分:2)

您实际上可以配置希望CodeDeploy存储的最大修订版。

http://docs.aws.amazon.com/codedeploy/latest/userguide/host-cleanup.html#host-agent-cleanup