【发布时间】:2014-09-29 19:24:28
【问题描述】:
我正在编写从 TeamCity 到 OpsWorks 的部署流程,当部署新分支时,在我们的开发堆栈上创建一个新应用程序并部署该应用程序。我唯一没有想到的是如何通过 CLI createApp 调用获取访问密钥/秘密密钥,以便在进行部署应用程序调用时,可以访问 s3 存档。
谁能解释一下如何解决这个问题、最佳实践等?
谢谢!
【问题讨论】:
标签: java aws-opsworks
我正在编写从 TeamCity 到 OpsWorks 的部署流程,当部署新分支时,在我们的开发堆栈上创建一个新应用程序并部署该应用程序。我唯一没有想到的是如何通过 CLI createApp 调用获取访问密钥/秘密密钥,以便在进行部署应用程序调用时,可以访问 s3 存档。
谁能解释一下如何解决这个问题、最佳实践等?
谢谢!
【问题讨论】:
标签: java aws-opsworks
对于任何感兴趣的人,我最终确实解决了这个问题。您可以使用 Stack 上的自定义 JSON 或通过 create-deployment CLI 任务的 --custom-json 参数来实现此目的。对我来说,将 IAM 密钥保留在堆栈本身似乎是更好的做法,但是对于开发部署任务,应用程序名称是未定义的,因此将它们放在 TeamCity 调用的 shell 脚本中会更简单,然后触发 Opsworks 上的部署.
堆栈的 JSON 布局是: “部署”: { 短应用名称: {“单片机”: { “用户”:访问密钥, “密码”:密钥 ID } } }
相同的布局适用于创建部署,只需用外括号括起来并正确转义字符串。
【讨论】: