linux - 只想在 AWS 中运行一次部署后脚本
问题描述
对于 codeDeployment 脚本,我们提供了安装前、安装后脚本。我的要求是只运行一次安装后脚本,即该脚本应仅在第一次部署时部署在服务器上。
由于脚本很常见,因此浪费了服务器上已经存在的大量时间。
有没有办法跳过这个安装后脚本以进行进一步的部署?
就我而言,我正在为部署后脚本中目录中的所有目录和文件执行“chown”。
解决方案
当您无法更改安装顺序时,您可以尝试两件事。
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
推荐阅读
- nginx - wand.exceptions.WandRuntimeError 在魔杖
- mysql - 为什么使用 docker-compose 时 TeamCity 无法连接到 MySQL?
- xamarin.forms - Xamarin.Forms - 我在 iOS 上的响应式 WebView 出现奇怪的高度问题
- c++ - 打包到安装包时,我可以删除/排除哪些 cpp 文件类型?
- azure - 从 ASP.NET Core 访问 Azure App Service ConnectionString
- c# - UserControl 的标签隐藏 MouseEnter 事件
- oracle - Oracle 唯一约束冲突
- sql - 获取几个表的每个租户的行数
- hql - 在 hql 脚本中,我们使用 "!sh echo ---new line---" 来表示相同的 . 想知道在 impala 中打印 impala 脚本中任何行的替代方法吗?
- lstm - RNN 与简单神经网络