簡體   English   中英

AWS Opsworks:如何為App部署特定的git標記?

[英]AWS Opsworks : How to deploy a particular git tag for an App?

AWS Opsworks允許您部署應用程序。 部署似乎總是部署主分支。

如何讓它部署git標簽?

謝謝

對此沒有優雅的解決方案。 很遺憾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"}}}}

其中myapp是您應用的短名稱1.2.3是您要部署的標簽。 不要忘記每次都包含此自定義JSON,否則您的部署將默認為您的應用程序中的任何內容:分支/修訂版

進一步思考

對於構建/測試中的應用程序,您可以在應用程序設置中指定develop作為分支/修訂版,而不必擔心每次都使用自定義JSON。 這將始終為您部署develop負責人。

對於生產中的應用程序,您可以將master作為分支/修訂版,然后在部署時指定自定義JSON。 這樣,如果您忘記包含自定義JSON,至少它將從master部署最新版本,其中大部分時間應與最新標記相同。

值得注意的是,如果您向圖層添加新實例(手動或根據圖層規則自動添加),默認行為是根據App:Branch / Revision中的設置部署應用程序的新版本。 ..實際上,根據您的具體要求,您需要注意這兩種方法。

你看看了嗎? 您可以根據分支機構http://docs.aws.amazon.com/opsworks/latest/userguide/gettingstarted-simple-app.html查看分支/修訂部分 ,了解如何部署。

我現在正在處理同樣的問題。 我們正在將測試/暫存環境轉移到OpsWorks中,以利用其基於時間的實例來節省成本。

我去的方法是一個小的命令行ruby腳本來輪詢AWS以顯示堆棧列表,然后我可以選擇圖層,應用程序和我要部署到的實例。 然后,該腳本要求部署repo的分支名稱,並通過AWS CLI將部署推送到OpsWorks進行處理。

這一切都通過AWS CLI完成。 我將看到如何在網上提供此信息並發布鏈接,如果與老板明確的話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM