This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
вход_в_ci_cd_для_linux_админа [2022/07/19 10:02] val [Шаг 4. От Git к GitLab] |
вход_в_ci_cd_для_linux_админа [2023/03/16 15:24] (current) val [Вход в CI/CD для linux админа] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Вход в CI/CD для linux админа ====== | ====== Вход в CI/CD для linux админа ====== | ||
- | ===== Вдохновенная реклама ===== | + | * [[https://habr.com/ru/post/716454/|Самый простой пример CI/CD]] |
+ | ===== Реклама ===== | ||
- | * Сноуборд - это очень просто, забираетесь на гору повыше и съезжаете... 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 34: | ||
===== Шаг 3. "Первый" пример CI/CD в истории) ===== | ===== Шаг 3. "Первый" пример CI/CD в истории) ===== | ||
+ | * [[https://www.specialist.ru/course/yun1-b|Linux. Уровень 1. Основы администрирования системы]] | ||
+ | * [[Установка ПО из исходных текстов]] | ||
* [[Установка ПО из исходных текстов#Использование make для сопровождения файлов конфигурации сервиса]] | * [[Установка ПО из исходных текстов#Использование make для сопровождения файлов конфигурации сервиса]] | ||
+ | * [[Сервис Git]] для каталога ~student/dhcp/ | ||
===== Шаг 4. От Git к GitLab ===== | ===== Шаг 4. От Git к GitLab ===== | ||
Line 29: | Line 43: | ||
* [[Инструмент GitLab]] | * [[Инструмент GitLab]] | ||
* Подключаемся как student, New Blank Project (Project name: dhcp, без README) | * Подключаемся как student, New Blank Project (Project name: dhcp, без README) | ||
+ | * [[Сервис 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> |