This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
devops1._основные_инструменты [2025/12/12 12:58] val |
devops1._основные_инструменты [2026/02/10 11:40] (current) val [Теория] |
||
|---|---|---|---|
| Line 19: | Line 19: | ||
| * [[https://landscape.cncf.io/]] | * [[https://landscape.cncf.io/]] | ||
| + | * [[https://habr.com/ru/companies/nixys/articles/514098/|С чего начать DevOps?]] | ||
| * [[https://dzen.ru/a/ZVIBk2kT0ntemhwK|Дорожная карта DevOps-инженера в 2023 году]] | * [[https://dzen.ru/a/ZVIBk2kT0ntemhwK|Дорожная карта DevOps-инженера в 2023 году]] | ||
| * Ссылки в разделе [[Сервис Git]] | * Ссылки в разделе [[Сервис Git]] | ||
| Line 120: | Line 121: | ||
| === 2.1 Собираем docker контейнер === | === 2.1 Собираем docker контейнер === | ||
| - | * [[Технология Docker#Установка]] Docker из базового репозитория на **server** и из репозитория вендора на **gate** | + | * [[Технология Docker#Установка]] Docker из базового репозитория на **server** и из репозитория вендора на **gate** (!!! Обратитесь к преподавателю по поводу версии !!!) |
| !!! Методическая рекомендация, запустить установку Golang на gate из этой лабораторной работы 2.1.3 | !!! Методическая рекомендация, запустить установку Golang на gate из этой лабораторной работы 2.1.3 | ||
| Line 324: | Line 325: | ||
| * [[Технология Docker#Обзор и удаление]] (преподавателю можно всех) образов c gate | * [[Технология Docker#Обзор и удаление]] (преподавателю можно всех) образов c gate | ||
| * Отключаем [[Технология Docker#Insecure Private Registry]] | * Отключаем [[Технология Docker#Insecure Private Registry]] | ||
| + | * Для загрузки docker:dind может понадобиться [[Технология Docker#Настройка registry-mirrors]] хоста на котором работает gitlab-runner | ||
| * Повторяем [[Инструмент GitLab#Установка в виде контейнера]] gitlab-runner на gate | * Повторяем [[Инструмент GitLab#Установка в виде контейнера]] gitlab-runner на gate | ||
| Line 358: | Line 360: | ||
| stages: | stages: | ||
| - build | - build | ||
| + | - test | ||
| - push | - push | ||
| # - deploy | # - deploy | ||
| - | |||
| - | variables: | ||
| - | DOCKER_TLS_CERTDIR: "" | ||
| - | |||
| - | services: | ||
| - | - name: docker:dind | ||
| - | command: | ||
| - | [ | ||
| - | '--insecure-registry=server.corpX.un:5000', | ||
| - | ] | ||
| before_script: | before_script: | ||
| + | - env | ||
| - echo -n $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY | - echo -n $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY | ||
| Line 386: | Line 380: | ||
| - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA | - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA | ||
| + | except: | ||
| + | - tags | ||
| + | |||
| + | Smoke test: | ||
| + | stage: test | ||
| + | script: | ||
| + | - MY_ID=$(docker run -d --rm $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA) | ||
| + | - MY_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $MY_ID) | ||
| + | - docker run --rm alpine/curl -sS $MY_IP | ||
| + | - docker stop $MY_ID | ||
| except: | except: | ||
| - tags | - tags | ||
| Line 410: | Line 414: | ||
| - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME | - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME | ||
| - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME | - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME | ||
| + | |||
| #Deploy: | #Deploy: | ||