User Tools

Site Tools


devops1._основные_инструменты

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devops1._основные_инструменты [2025/12/12 12:58]
val
devops1._основные_инструменты [2026/03/27 14:54] (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 270: Line 271:
 ==== Теория ==== ==== Теория ====
  
-  * [[https://testengineer.ru/dorogostoyashchie-bagi/|7 эпичнейших багов в истории ​человечества]]+  * [[https://dzen.ru/a/YmGlfKfvZlIrekY6|7 самых дорогих ошибок програмистов в истории]]
  
   * [[https://​ru.wikipedia.org/​wiki/​Тестирование_программного_обеспечения]]   * [[https://​ru.wikipedia.org/​wiki/​Тестирование_программного_обеспечения]]
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
Line 365: Line 368:
  
 services: services:
-  - name: docker:dind+  - name: docker:20.10.24-dind
     command:     command:
       [       [
-        '​--insecure-registry=server.corpX.un:​5000',​+        '​--insecure-registry=server.corpX.un:​5000','​--registry-mirror=https://​mirror.gcr.io',
       ]       ]
  
 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 390:
     - 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 424:
     - 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:
Line 500: Line 515:
   * Шаг 4 - в режиме просмотра   * Шаг 4 - в режиме просмотра
  
-==== 7.5 Ansible Vault ====+==== 7.5 Управление секретами в сети предприятия ​====
  
-  * [[Сервис ​Ansible#​ansible-vault]] и GitLab [[Инструмент GitLab#Пример shell ansible]]+  * [[Управление секретами в сети ​предприятия]]
devops1._основные_инструменты.1765533492.txt.gz · Last modified: 2025/12/12 12:58 by val