【问题标题】:Want to run Post-deployment script only once in AWS只想在 AWS 中运行一次部署后脚本
【发布时间】:2019-03-01 08:58:33
【问题描述】:
对于 codeDeployment 脚本,我们提供安装前、安装后脚本。
我的要求是只运行一次安装后脚本,即该脚本应仅在第一次部署时部署在服务器上。
由于脚本是通用的,所以它浪费了服务器上已经存在的大量时间。
有没有办法跳过这个安装后脚本以进行进一步的部署?
就我而言,我正在为部署后脚本中目录内的所有目录和文件执行“chown”。
【问题讨论】:
标签:
linux
amazon-web-services
unix
aws-code-deploy
aws-codepipeline
【解决方案1】:
当无法更改安装顺序时,可以尝试两种方法。
1. 通过一些日志跟踪部署
#!/bin/bash
phase4=/var/deploy4
if [ ! -f "${phase4}} ]; then
echo "$(date) Installation started" > "${phase4}"
# Do your thing
fi
-
看看你将要改变的事情
#!/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