Как развернуть несколько git-репозиториев одновременно, используя AWS Code Deploy и AWS Code Pipeline? - PullRequest
4 голосов
/ 02 июня 2019

У меня есть 3 разных репозитория, которые должны быть развернуты (deployType - синий / зеленый) в одной и той же группе автоматического масштабирования.Я создал 3 разных конвейера кода и одну группу развертывания.

Проблема здесь в том, что при развертывании Blue / Green будет создана новая группа автоматического масштабирования с использованием AMI-идентификатора, предоставленного в шаблоне запуска, поэтому одновременно в экземпляре будет только одна ветвь.

Как и всеДля работы веб-приложения требуется 3 кода репозитория.Поскольку я не хочу создавать новые группы автоматического масштабирования для всех 3 репо.Я думал о том, чтобы сделать это так:

Dummy Branch A:

ProjectName- Repo1Project- Repo2Project- Repo3Project- appspec.yml- attach-target-group-to-alb.sh

и в appspec.yml:

version: 0.0
os: linux
files:
  - source: ProjectName/Repo1Project
    destination: /var/www/html/Repo1Project
  - source: ProjectName/Repo2Project
    destination: /var/www/html/Repo2Project
  - source: ProjectName/Repo3Project
    destination: /var/www/html/Repo3Project
hooks:
  BeforeInstall:
    - location: Repo1Project/Scripts/pre_install.sh
    - location: Repo2Project/Scripts/pre_install.sh
    - location: Repo3Project/Scripts/pre_install.sh
      timeout: 600
      runas: ec2-user
  AfterInstall:
    - location: Repo1Project/Scripts/post_install.sh
    - location: Repo2Project/Scripts/post_install.sh
    - location: Repo3Project/Scripts/post_install.sh
      timeout: 600
      runas: ec2-user
  AfterAllowTraffic:
     - location: attach-target-group-to-alb.sh
       timeout: 600
       runas: ec2-user

Обновите каждую папку с помощью этой команды:

Чтобы объединить только определенный файл / папку из другой ветви в текущую

git checkout Repo1ProjectBranch ProjectName / Repo1Project

git commit -m "Ваш комментарий"

И затем подтолкните его к актуальному BranchB

Но я не уверен, является ли это верным способом сделать это, или есть какое-то другое лучшее решение.Поэтому подумайте о том, чтобы опубликовать его здесь, если кто-то уже нашел лучшее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...