AWS Opsworks:如何为App部署特定的git标记?

May*_*ain 5 ruby-on-rails amazon-web-services aws-opsworks

AWS Opsworks允许您部署应用程序.部署似乎总是部署主分支.

如何让它部署git标签?

谢谢

tea*_*ris 8

对此没有优雅的解决方案.很遗憾OpsWorks不允许您在部署时指定分支/标记.

编辑:经过一些OpsWorks/Chef/Ruby的挖掘,你实际上可以相对简单地部署一个特定的标签.以下两种方法中的任何一种仍然有效.

您可以通过以下方式之一部署git标记:

方法1:在应用程序设置中指定

  1. 在部署之前,编辑您的应用程序,并更改科/修订值,tags/1.2.3这里1.2.3是你要部署的标签.
  2. 保存更改,然后正常部署您的应用.
  3. 请记住每次部署时手动更改它!

方法2:在部署操作上传递自定义JSON

部署应用程序时包括以下自定义JSON

{"deploy": {"myapp": {"scm": {"revision": "tags/1.2.3"}}}}
Run Code Online (Sandbox Code Playgroud)

应用程序myapp短名称在哪里,是1.2.3您要部署的标记.不要忘记每次都包含此自定义JSON,否则您的部署将默认为您的应用程序中的任何内容:分支/修订版.

进一步思考

对于构建/测试中的应用程序,您可以develop在应用程序设置中指定为分支/修订版,而不必担心每次都使用自定义JSON.这将始终develop为您部署头.

对于生产中的应用程序,您可以将其master作为分支/修订版,然后在部署时指定自定义JSON.这样,如果您忘记包含自定义JSON,至少它将从master部署最新版本,其中大部分时间应与最新标记相同.

值得注意的是,如果您向图层添加新实例(手动或根据图层规则自动添加),默认行为是根据App:Branch/Revision中的设置部署应用程序的新版本. ..实际上,根据您的具体要求,您需要注意这两种方法.


Arv*_*ind 5

你检查了吗?您可以检查“ 分支/修订”部分,其中显示了如何根据分支http://docs.aws.amazon.com/opsworks/latest/userguide/gettingstarted-simple-app.html进行部署