我在 Azure 上安装了 AWS-Toolkit 扩展。在 Azure 发布管道中,我已配置系统管理器运行命令任务以在 ec2 实例上执行 python 脚本。问题在于,一旦触发 SSM - Run 命令任务,它就会给出“成功”状态(在 1 秒内)并继续执行阶段中的下一个任务。但是,该作业仍在 ec2-instance 上执行。
我想知道我应该如何让天蓝色管道任务等到执行真正结束,然后提供它执行的脚本的适当状态。
对于 AWS SSM 控制台上的相同调用,它显示作业(脚本)正在执行中。这是天蓝色管道的问题吗?我其余的 AWS 任务似乎在 azure 管道中运行良好。
注意:管道任务根据需要正确配置(因为它正在做它应该做的事情)。唯一的问题是这个任务应该等到工作完成。
编辑 1: 添加在管道中执行的任务以更清晰:
- 使用 Terraform 启动 EC2
- 从 repo 获取代码并发布它(使用 Publish Artifact 任务)
- 存档(创建 zip),然后将其上传到 S3
- 使用 AWS CodeDeploy 服务从 S3 获取代码并将其“安装”到已启动的 EC2 上,然后使用 CodeDeploy Hooks 运行一些“安装后”脚本。
- 通过 SSM 执行另一个脚本(因为它可能需要几个小时才能完成,因此无法通过最大超时为 3600 的 CodeDeploy Hooks 来执行)
- 脚本执行完成后,使用 terraform destroy 终止实例。