This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
devops1._основные_инструменты [2025/09/20 19:36] val [7.4 Развертывание инфраструктуры с использованием Terraform] |
devops1._основные_инструменты [2025/10/17 12:41] (current) val [Лабораторные работы: Задачи тестирования] |
||
---|---|---|---|
Line 328: | Line 328: | ||
* Используем [[Инструмент GitLab#Регистрация DinD]] для добавления runner в проект gowebd | * Используем [[Инструмент GitLab#Регистрация DinD]] для добавления runner в проект gowebd | ||
* Добавляем необходимые для DinD элементы конфигурации в [[Инструмент GitLab#Пример CI с использованием контейнеров]] | * Добавляем необходимые для DinD элементы конфигурации в [[Инструмент GitLab#Пример CI с использованием контейнеров]] | ||
+ | <code> | ||
+ | stages: | ||
+ | - build | ||
+ | - push | ||
+ | # - deploy | ||
+ | |||
+ | variables: | ||
+ | DOCKER_TLS_CERTDIR: "" | ||
+ | |||
+ | services: | ||
+ | - name: docker:dind | ||
+ | command: | ||
+ | [ | ||
+ | '--insecure-registry=server.corpX.un:5000', | ||
+ | ] | ||
+ | |||
+ | before_script: | ||
+ | - echo -n $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY | ||
+ | |||
+ | Build: | ||
+ | stage: build | ||
+ | script: | ||
+ | - docker pull $CI_REGISTRY_IMAGE:latest || true | ||
+ | - > | ||
+ | docker build | ||
+ | --pull | ||
+ | --cache-from $CI_REGISTRY_IMAGE:latest | ||
+ | --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA | ||
+ | . | ||
+ | - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA | ||
+ | |||
+ | except: | ||
+ | - tags | ||
+ | |||
+ | Push latest: | ||
+ | variables: | ||
+ | GIT_STRATEGY: none | ||
+ | stage: push | ||
+ | only: | ||
+ | - main | ||
+ | script: | ||
+ | - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA | ||
+ | - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest | ||
+ | - docker push $CI_REGISTRY_IMAGE:latest | ||
+ | |||
+ | Push tag: | ||
+ | variables: | ||
+ | GIT_STRATEGY: none | ||
+ | stage: push | ||
+ | only: | ||
+ | - tags | ||
+ | script: | ||
+ | - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA | ||
+ | - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME | ||
+ | - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME | ||
+ | |||
+ | #Deploy: | ||
+ | # variables: | ||
+ | # VER: "$CI_COMMIT_REF_NAME" | ||
+ | # stage: deploy | ||
+ | # only: | ||
+ | # - tags | ||
+ | # trigger: | ||
+ | # project: student/gowebd-k8s | ||
+ | </code> | ||
* Увеличиваем версию и наблюдаем сборку образа с тэгом commit hash | * Увеличиваем версию и наблюдаем сборку образа с тэгом commit hash | ||
* Можно продемонстрировать Lint test, добавив лишнюю переменную в коде | * Можно продемонстрировать Lint test, добавив лишнюю переменную в коде |