首页 > 解决方案 > 只想在 AWS 中运行一次部署后脚本

问题描述

对于 codeDeployment 脚本,我们提供了安装前、安装后脚本。我的要求是只运行一次安装后脚本,即该脚本应仅在第一次部署时部署在服务器上。

由于脚本很常见,因此浪费了服务器上已经存在的大量时间。

有没有办法跳过这个安装后脚本以进行进一步的部署?

就我而言,我正在为部署后脚本中目录中的所有目录和文件执行“chown”。

标签: linuxamazon-web-servicesunixaws-code-deployaws-codepipeline

解决方案


当您无法更改安装顺序时,您可以尝试两件事。
1. 使用一些日志跟踪部署

#!/bin/bash
phase4=/var/deploy4
if [ ! -f "${phase4}} ]; then
   echo "$(date) Installation started" > "${phase4}"
   # Do your thing
fi
  1. 看看你将要改变的事情

    #!/bin/bash
    changeme="/some/path/to/some/initial/root/owned/file"
    if [ -n "$(find . -name "${changeme}" -user root)" ]; then
       echo "Running chown script"
       chown somebody "${changeme}"
    fi
    

推荐阅读