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 и т. д.)