У меня есть 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
Но я не уверен, является ли это верным способом сделать это, или есть какое-то другое лучшее решение.Поэтому подумайте о том, чтобы опубликовать его здесь, если кто-то уже нашел лучшее решение.