GitLab CI строит подпроекты и развертывает их в kubernetes отдельно
Если у меня есть проект GitLab, который содержит несколько вложенных папок:
- два с кодом java (от java: alpine, для компиляции с maven и сборки контейнеров)
- один с конфигурацией nginx (от openresty: alpine, чтобы построить контейнер веб-сервера)
Каждый из подпроектов имеет Dockerfile, deployment.yml и gitlab-ci.в формате YML.
Развертывание.yml аналогичен для каждой из вложенных папок в проекте, так как все вложенные проекты приводят к одному мультиконтейнеру kubernetes РМО.
Как я могу настроить этот проект на сборку и развертывание в kubernetes только контейнера, который я редактировал при последнем коммите?
1 ответ:
Я использовал грязный хак, как установка нескольких блоков сборки .gitlab-ci.yml для каждого подпроекта и настройка для каждого из них
only
параметра:maven-build-akka: image: maven:3-jdk-8 stage: build only: - /^akka-.*$/ script: - cd akka - mvn package -B --settings ../settings.xml artifacts: paths: - akka/target/*.jar
И так для
docker build stage
.После этого, если я нажму тег типа
akka-1.0.3
, будут запущены соответствующие задания конвейера.Но, есть проблема с только одним именем для изображений в реестре GitLab CI для одного проекта, так что вы должны толкать изображения где-то еще (GCR и т. д.)