我正在编写从TeamCity到OpsWorks的部署流程,当部署新分支时,在我们的开发堆栈上创建一个新应用程序并部署该应用程序。我唯一没想到的是如何通过CLI createApp调用获取访问密钥/密钥,以便在进行部署应用程序调用时,可以访问s3存档。
有人能说明如何解决这个问题,最佳做法等吗?
谢谢!
答案 0 :(得分:1)
对于任何有兴趣的人,我最终解决了这个问题。您可以使用Stack上的自定义JSON或通过create-deployment CLI任务的--custom-json参数实现此目的。将IAM密钥保留在堆栈本身似乎更好的做法但是使用开发部署任务时,应用程序名称是未定义的,因此将它们放入TeamCity调用的shell脚本中更简单,然后在Opsworks上触发部署
堆栈的JSON布局是: " deploy":{ shortappname : {" scm": {"用户":访问密钥, "密码": secret-key-id } } }
相同的布局适用于create-deployment,只需正确包装外括号和转义字符串。