我们使用Jenkins自动化EC部署。
首次成功完成部署后,后续部署失败,因为CF抱怨我们试图在CF模板中创建的角色已经存在。
在文档中发现如果命名了Role资源,则无法进行这些更新,我尝试删除该名称,并收到与尝试创建角色的Jenkins用户相关的权限失败。
条件文档没有明确地向我描述检查角色是否已经存在的条件语法。
我想过要使用aws cli在单独的Jenkins步骤中删除角色,但被Uncaught (in promise) Error: OneSignal: This app ID does not have any web platforms enabled. Double check your app ID, or see step 1 on our setup guide
和现有实例的行为所吓倒(这些应该是不间断的更新)。
如何根据角色是否已经存在来有条件地创建角色资源?
我找到的最接近的问题是this,但它与DynamoDB有关。
用于角色创建的现有YAML(策略定义的上方和下方是样板):
iam delete-role