在应用生命周期中,会发生各种事件,如启动、停止等。EDAS提供了当发生事件时,在ECS实例上执行用户自定义脚本的能力。
挂载脚本定义说明
生命周期挂载脚本的运行过程图示意如下:

脚本执行须知:
- 脚本采用
root
用户执行。 - 脚本执行时间最长为60s,当执行时间超过60s,将认为超时导致脚本执行失败。
- 脚本可能被重复执行,需要脚本自身保证重复执行的正确性,例如:脚本应避免将相同的配置项追加到同一配置文件。
- 脚本在独立的进程中执行,与应用进程无关。
- 如需设置环境变量在应用启动后使用,建议将环境变量写入到/home/admin/.bashrc中。
- 脚本通过ECS的发送远程命令执行,命令名称为CoCustomHookScript。
- 执行结果状态:
- 成功:按照Linux、Unix的标准,执行退出码为 0 时为成功。如命令
echo xyz
退出码为 0。 - 失败:执行退出码非 0 时为失败。如命令
ls 不存在的目录
,退出码非 0。
- 成功:按照Linux、Unix的标准,执行退出码为 0 时为成功。如命令
- 忽略失败:开启时,若
执行结果状态
为失败
,则不中断应用变更单的执行。 - 不忽略失败:当脚本执行失败并且健康检查URL通过时,挂载脚本将被重复执行。您可通过以下方法继续执行应用变更:
- 修复相应的脚本问题,然后重试变更任务。
- 若是启动后挂载脚本,可在变更任务单击略过,在执行挂载脚本这个变更单任务时,将采用忽略失败模式,变更记录将继续执行。
- 允许输入的脚本最大
8KB
,若超过,可将脚本放置于外部存储,如 OSS 存储服务中,通过网络下载后执行。
设置挂载脚本
您可参照以下步骤进入到挂载脚本的设置页面。
查看挂载脚本执行结果
在修改挂载脚本后,您可查看应用变更。下图以执行准备实例脚本为例展示执行结果。

常见问题
怎么查找发送远程命令的执行状态?
在变更记录日志中的InvocationId可查找到相应的发送远程命令的命令执行状态。
在文档使用中是否遇到以下问题
更多建议
匿名提交