User Tools

Site Tools


вход_в_ci_cd_для_linux_админа

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
Last revision Both sides next revision
вход_в_ci_cd_для_linux_админа [2022/07/19 10:25]
val
вход_в_ci_cd_для_linux_админа [2023/01/20 17:40]
val [Запись вебинара]
Line 1: Line 1:
 ====== Вход в CI/CD для linux админа ====== ====== Вход в CI/CD для linux админа ======
  
-===== Вдохновенная реклама =====+===== Реклама =====
  
-  * Сноуборд - это очень просто,​ забираетесь на гору повыше и съезжаете... CI/CD это очень просто - разрабатываете бэкенд на Python, заворачиваете все в Docker, кладете исходники и образы в GitLab и настраиваете выкатку на прод в кластер Кubernetes,​ предварительно разворнутый через Ansible... Казалось бы, что общего между сноубордом и CI/CD? Ответ - высокий порог входа. Первый сразу требует множество физических навыков,​ второй сразу знание множества технологий +  * Сноуборд - это очень просто,​ забираетесь на гору повыше и съезжаете... CI/CD это очень просто - разрабатываете бэкенд на Go/Python, заворачиваете все в Docker, кладете исходники и образы в GitLab и настраиваете выкатку на прод в кластер Кubernetes,​ предварительно развернутый через ​Vagrant/​Terraform и Ansible... Казалось бы, что общего между сноубордом и CI/CD? Ответ - высокий порог входа. Первый сразу требует множество физических навыков,​ второй сразу знание множества технологий 
-  * Наш вебинар посвящен ПЕРВОМУ шагу в CI/CD после которого можно будет "​ехать"​ забираясь на все более высокие "​горки"​ ловя кайф от скорости,​ баланса и ощущения себя волшебником,​ повелевающим множеством классных технологий+  * [[https://​www.specialist.ru/​news/​6192/​vhod-v-cicd-dlya-linuxadmina|Наш вебинар]] посвящен ПЕРВОМУ шагу в CI/CD после которого можно будет "​ехать"​ забираясь на все более высокие "​горки"​ ловя кайф от скорости,​ баланса и ощущения себя волшебником,​ повелевающим множеством классных технологий
  
-===== Скучное ​ТЗ =====+===== Техническое задание ​===== 
 + 
 +  * Предоставить возможность коллективу системных администраторов править файлы конфигурации сервисов в едином удобном пространстве,​ с историей изменений и автоматизацией процессов тестирования и обновления на серверах
  
-  * Линукс админу предоставить возможность себе и коллегам править файлы конфигурации сервисов в едином пространстве с историей изменений и автоматизацией процессов тестирования и обновления на серверах 
 ===== Запись вебинара ===== ===== Запись вебинара =====
 +
 +  * [[https://​youtu.be/​FeD6VBY2Xss|Вход в CI/CD для Linux-админа]]
 +===== Методическая подготовка =====
 +
 +  * Установлен [[Инструмент GitLab]] на server
 +  * Создана учетная запись student в GitLab на server
 +  * Установлена для [[Установка ПО из исходных текстов#​Использование утилиты make]] на gate
 +  * [[Модуль AppArmor#​Определение наличия и правка профилей для служб]] dhcp на gate
 +  * Загружен deb дистрибутив [[Инструмент GitLab#​GitLab Runner]] на gate
  
 ===== Шаг 1. Что у нас есть, подходящее для начала ===== ===== Шаг 1. Что у нас есть, подходящее для начала =====
Line 23: Line 33:
 ===== Шаг 3. "​Первый"​ пример CI/CD в истории) ===== ===== Шаг 3. "​Первый"​ пример CI/CD в истории) =====
  
 +  * [[https://​www.specialist.ru/​course/​yun1-b|Linux. Уровень 1. Основы администрирования системы]]
 +  * [[Установка ПО из исходных текстов]]
   * [[Установка ПО из исходных текстов#​Использование make для сопровождения файлов конфигурации сервиса]]   * [[Установка ПО из исходных текстов#​Использование make для сопровождения файлов конфигурации сервиса]]
   * [[Сервис Git]] для каталога ~student/​dhcp/​   * [[Сервис Git]] для каталога ~student/​dhcp/​
Line 31: Line 43:
   * Подключаемся как student, New Blank Project (Project name: dhcp, без README)   * Подключаемся как student, New Blank Project (Project name: dhcp, без README)
   * [[Сервис Git#​Обновление сетевого репозитория из локального]]   * [[Сервис Git#​Обновление сетевого репозитория из локального]]
 +  * Редактируем dhcpd.conf в GitLab IDE (Commit to master branch)
 +  * [[Сервис Git#​Клонирование и обновление локального репозитория из сетевого]]
 +  * [[Установка ПО из исходных текстов#​Использование make для сопровождения файлов конфигурации сервиса]]
 +
 +===== Шаг 5. А теперь настоящий CI/CD !!! =====
 +
 +  * [[Инструмент GitLab#​GitLab Runner]]
 +  * Используем [[Пакет sudo]] для разрешений пользователя gitlab-runner
 +  * [[Инструмент GitLab#​GitLab CI/CD]]
 +  * [[Сервис DHCP#​Статистика DHCP сервера]]
 +
 +===== Итоги =====
 +
 +  * [[https://​www.specialist.ru/​course/​kuber|DevOps. Уровень 1. Инфраструктура как код, основные инструменты]]
 +  * План лабораторных работ: [[Введение в DevOps]]
 +  * [[Преимущества обучения в specialist.ru]]
 +
 +===== Возвращаемся к началу) =====
 +
 +<​code>​
 +Удаляем проект webd из GitLab
 +
 +Удаляем gitlab-runner gate из GitLab
 +
 +gate# visudo ​ #​Удаляем пользователя gitlab-runner  ​
 +
 +gate# apt purge gitlab-runner
 +
 +gate# su - student
 +
 +student@gate:​~$ rm -rf dhcp/
 +
 +gate# cd /etc
 +
 +gate:/etc# rm -rf .git/
 +
 +gate# sh conf/​dhcp.sh
 +</​code>​
вход_в_ci_cd_для_linux_админа.txt · Last modified: 2023/03/16 15:24 by val