AWS Opsworks позволяет развернуть приложение. Кажется, что развертывание всегда развертывает главную ветку.
Как я могу заставить его развернуть тег git?
Спасибо
AWS Opsworks позволяет развернуть приложение. Кажется, что развертывание всегда развертывает главную ветку.
Как я могу заставить его развернуть тег git?
Спасибо
Вы это проверяли? Вы можете проверить раздел Branch / Revision, где показано, как вы можете выполнить развертывание в соответствии с веткой http://docs.aws.amazon.com/opsworks/latest/userguide/gettingstarted-simple.-app.html
У этого нет элегантного решения. Жаль, что OpsWorks не позволяет указать ветку / тег во время развертывания.
РЕДАКТИРОВАТЬ: немного покопавшись в OpsWorks / Chef / Ruby, вы действительно можете относительно просто развернуть определенный тег. Любой из двух приведенных ниже методов по-прежнему действителен.
Вы можете развернуть тег git одним из следующих способов:
tags/1.2.3
, где 1.2.3
- это тег, который вы хотите развернуть.Включите следующий настраиваемый JSON при развертывании приложения
{"deploy": {"myapp": {"scm": {"revision": "tags/1.2.3"}}}}
где myapp
- это Краткое имя вашего приложения, а 1.2.3
- это тег, который вы хотите развернуть. Не забывайте включать этот пользовательский JSON каждый раз, иначе в вашем развертывании по умолчанию будет использоваться все, что есть в вашем приложении: ветка / версия.
Для приложений в сборке / тестировании вы можете указать develop
в качестве ветки / версии в настройках приложения и не беспокоиться об использовании пользовательского JSON каждый раз. Это всегда развернет за вас голову develop
.
Для приложений в производстве вы можете указать master
в качестве ветки / версии, а затем указать настраиваемый JSON во время развертывания. Таким образом, если вы забудете включить пользовательский JSON, по крайней мере, он развернет последнюю версию от мастера, которая в большинстве случаев должна совпадать с вашим последним тегом.
Стоит отметить, что если вы добавляете новые экземпляры на свой уровень (вручную или автоматически в соответствии с вашими правилами уровня), поведение по умолчанию будет заключаться в развертывании новой версии вашего приложения в соответствии с настройками в App: Branch / Revision .. .. так что на самом деле вам нужно помнить об обоих методах в зависимости от ваших конкретных требований.
На самом деле я сейчас занимаюсь той же проблемой. Мы переносим наши тестовые / промежуточные среды в OpsWorks, чтобы использовать их инстансы, зависящие от времени, для экономии средств.
Я решил обойти это с помощью небольшого ruby-скрипта командной строки для опроса AWS, чтобы показать мне список стека, после чего я могу выбрать слой, приложение и экземпляры, в которых хочу развернуть. Затем сценарий запрашивает имя ветки репозитория для развертывания и отправляет развертывание через интерфейс командной строки AWS в OpsWorks для обработки.
Все это делается через интерфейс командной строки AWS. Я позабочусь о том, чтобы сделать это доступным в Интернете, и опубликую ссылку, если это будет понятно начальнику.