This commit is contained in:
@@ -23,44 +23,51 @@ steps:
|
|||||||
|
|
||||||
# Шаг 2: Сборка Docker образа с именем my-spring-app
|
# Шаг 2: Сборка Docker образа с именем my-spring-app
|
||||||
|
|
||||||
docker-build:
|
|
||||||
image: docker:24.0-dind # специальный образ с встроенным Docker daemon
|
|
||||||
privileged: true # нужно для запуска своего демона
|
|
||||||
commands:
|
|
||||||
# Запускаем Docker daemon в фоне
|
|
||||||
- dockerd-entrypoint.sh &
|
|
||||||
|
|
||||||
# Даем демону время на запуск (5 секунд)
|
|
||||||
- sleep 5
|
|
||||||
|
|
||||||
# Проверяем, что демон работает
|
|
||||||
- docker version
|
|
||||||
|
|
||||||
# Собираем образ
|
|
||||||
- docker build -t my-spring-app:$CI_COMMIT_SHA .
|
|
||||||
- docker tag my-spring-app:$CI_COMMIT_SHA my-spring-app:latest
|
|
||||||
- docker images | grep my-spring-app
|
|
||||||
|
|
||||||
# docker-build:
|
# docker-build:
|
||||||
# image: docker:24.0
|
# image: docker:24.0-dind # специальный образ с встроенным Docker daemon
|
||||||
|
# privileged: true # нужно для запуска своего демона
|
||||||
# commands:
|
# commands:
|
||||||
# # Собираем образ с именем my-spring-app и тегом из коммита
|
# # Запускаем Docker daemon в фоне
|
||||||
|
# - dockerd-entrypoint.sh &
|
||||||
|
#
|
||||||
|
# # Даем демону время на запуск (5 секунд)
|
||||||
|
# - sleep 5
|
||||||
|
#
|
||||||
|
# # Проверяем, что демон работает
|
||||||
|
# - docker version
|
||||||
|
#
|
||||||
|
# # Собираем образ
|
||||||
# - docker build -t my-spring-app:$CI_COMMIT_SHA .
|
# - docker build -t my-spring-app:$CI_COMMIT_SHA .
|
||||||
# # Тэг latest для удобства
|
|
||||||
# - docker tag my-spring-app:$CI_COMMIT_SHA my-spring-app:latest
|
# - docker tag my-spring-app:$CI_COMMIT_SHA my-spring-app:latest
|
||||||
# volumes:
|
# - docker images | grep my-spring-app
|
||||||
# - /var/run/docker.sock:/var/run/docker.sock
|
#
|
||||||
|
|
||||||
# Шаг 3: Деплой в Minikube
|
docker-build-and-push:
|
||||||
# deploy:
|
image: docker:24.0-dind
|
||||||
# image: bitnami/kubectl:latest
|
privileged: true
|
||||||
# commands:
|
commands:
|
||||||
# # Обновляем образ в deployment
|
- dockerd-entrypoint.sh &
|
||||||
# - kubectl set image deployment/my-spring-app my-spring-app=my-spring-app:$CI_COMMIT_SHA
|
- sleep 10
|
||||||
# # Ждем успешного развертывания
|
|
||||||
# - kubectl rollout status deployment/my-spring-app
|
# Логинимся в Harbor
|
||||||
# when:
|
- docker login $HARBOR_HOST -u $HARBOR_USERNAME -p $HARBOR_PASSWORD
|
||||||
# status: success
|
|
||||||
|
# Собираем образ с тегом коммита
|
||||||
|
- docker build -t $HARBOR_HOST/$HARBOR_PROJECT/my-spring-app:$CI_COMMIT_SHA .
|
||||||
|
- docker push $HARBOR_HOST/$HARBOR_PROJECT/my-spring-app:$CI_COMMIT_SHA
|
||||||
|
|
||||||
|
# Тэг latest для удобства
|
||||||
|
- docker tag $HARBOR_HOST/$HARBOR_PROJECT/my-spring-app:$CI_COMMIT_SHA $HARBOR_HOST/$HARBOR_PROJECT/my-spring-app:latest
|
||||||
|
- docker push $HARBOR_HOST/$HARBOR_PROJECT/my-spring-app:latest
|
||||||
|
environment:
|
||||||
|
HARBOR_HOST:
|
||||||
|
from_secret: harbor_host
|
||||||
|
HARBOR_PROJECT:
|
||||||
|
from_secret: harbor_project
|
||||||
|
HARBOR_USERNAME:
|
||||||
|
from_secret: harbor_username
|
||||||
|
HARBOR_PASSWORD:
|
||||||
|
from_secret: harbor_password
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
image: bitnami/kubectl:latest
|
image: bitnami/kubectl:latest
|
||||||
|
|||||||
Reference in New Issue
Block a user