Octopus Deploy中跳过Deploy Amazon ECS Service步骤的运行条件及跳过方法
Octopus Deploy相关问题解答
一、跳过Deploy Amazon ECS Service步骤的运行条件
通常可基于以下场景设置跳过条件:
- 当ECS服务已存在且无需更新核心配置时,通过检查服务状态的自定义变量触发跳过
- 使用Octopus内置的
Run only if a variable matches a value条件,比如定义变量SkipECSServiceDeploy,当变量值为True时跳过该步骤 - 针对特定环境设置跳过,比如在开发测试环境无需更新ECS服务时,选择
Run only for specific environments并排除目标环境 - 当任务定义未发生变更时,通过对比任务定义的哈希值,设置条件判断无需更新服务则跳过
二、让集群/任务定义部署步骤仅在首次运行的配置方法
可以通过以下几种方式实现:
方法1:使用Octopus内置首次部署条件
直接在第一步的「运行条件」设置中,选择Run only on the first deployment to an environment。该条件会自动识别当前环境是否是第一次部署,首次执行该步骤,后续部署自动跳过。
方法2:自定义变量控制流程
- 在项目变量中创建布尔型变量
FirstDeploymentDone,默认值设为False - 给第一步设置运行条件为
Run only if variable value is False,指定变量为FirstDeploymentDone - 在第一步执行完成后,添加一个「Set Variable」步骤,将
FirstDeploymentDone的值更新为True。后续部署时该变量为True,第一步就会自动跳过
方法3:基于AWS资源存在性判断
在第一步之前添加一个脚本步骤,调用AWS CLI执行aws ecs describe-clusters --clusters <你的集群名称>,根据返回结果判断集群是否存在:
- 如果集群不存在,设置变量
ClusterNeedsCreation为True - 给第一步设置运行条件为
Run only if variable value is True,指定变量为ClusterNeedsCreation
这样后续部署时集群已存在,变量值为False,第一步就会跳过
内容的提问来源于stack exchange,提问作者Afroz S
相关产品推荐
相关产品推荐

