Мы используем GitLab для CI-CD, и наши приложения запускаются как docker -контейнеры внутри экземпляров EC2 и используют ECR в качестве реестра. У меня проблема с этим подходом на этапе развертывания. Я хочу, чтобы docker-compose.yml
забрал изображение, помеченное текущей веткой из ECR. Следовательно, я использую $CI_COMMIT_BRANCH
следующим образом:
sudo docker-compose pull | sed "s/$VERSION/$CI_COMMIT_BRANCH/g"
Я знаю, что синтаксис неверен, и $VERSION
постоянно заменяется именем ветки. Итак, когда я в следующий раз сделаю sudo docker-compose pull
, $VERSION
не будет, и этап развертывания остановится.
Наши образы ECR будут иметь такой путь: xxxxxxxxxxxx.dkr.ecr.ap-south-1.amazonaws.com/ground-zero/x:$VERSION
(внутри docker-compose.yml
)
Как правильно использовать sed
для поиска code-ground & :
, потому что они общие для всех микросервисов в пути ECR.