====== Вход в Jenkins для администратора Linux ====== * [[https://youtu.be/FeD6VBY2Xss|Вход в CI/CD для Linux-админа]] * [[https://habr.com/ru/post/716454/|Самый простой пример CI/CD]] ===== Реклама ===== * В эпоху агрессивного наступления новых технологий, связанных с CI/CD, появилось ироничное высказывание: Зачем что-то автоматизировать за 2 часа, когда можно сделать вручную за 10 минут. Но, если честно, большое количество времени системный администратор тратит на рутинные задачи - добавить разрешение в пакетный фильтр, запись в зону DNS, правила в системе электронной почты, список URL в прокси сервере ... Всякий раз надо "вспомнить" где это, в каком каталоге, поправить, как проверить синтаксис, не забыть перезапустить сервис ... Может оказаться, что 2 часа, потраченных на автоматизацию сэкономят не мало времени в будущем. Ну и бонус - знакомство с перспективными технологиями в Новом Году! ===== Техническое задание ===== * Настроить управление списком разрешённых доменов на proxy сервере Squid, с историей изменений и автоматизацией процесса тестирования и обновления на сервере ===== Запись вебинара ===== * Тэги: ===== Методическая подготовка ===== ===== Шаг 1. Что у нас есть для начала ===== * Развернут стенд курса [[https://www.specialist.ru/course/yun2-b|Linux. Уровень 2. Администрирование сервисов и сетей]] или [[https://rutube.ru/video/18b52d9721f7464b4485fec7d894e8ca/|можно развернуть стенд дома (смотреть с 13-й минуты)]] ===== Шаг 2. Установка и настройка Squid ===== * Разворачиваем сервис Squid, как в статье: [[https://habr.com/ru/post/716454/|Самый простой пример CI/CD]] * Используем [[Утилита curl]] для тестирования ===== Шаг 3. Установка и настройка Squid ===== * [[Инструмент Gitea]] * Размещаем конфигурацию proxy сервера в Gitea, как в статье: [[https://habr.com/ru/post/716454/|Самый простой пример CI/CD]] ===== Шаг 4. Установка Jenkins ===== * [[Сервис JRE]] * [[Инструмент Jenkins]] + plugins: git, SSH Build Agents, Groovy, Pipeline*, SCM-Manager ===== Шаг 5. Подключение агента Jenkins ===== * [[Сервис JRE]] * [[Инструмент Jenkins#Подключение агента]] * Разрешаем пользователю jenkins выполнять команды с повышенными привилегиями, как в статье: [[https://habr.com/ru/post/716454/|Самый простой пример CI/CD]] ===== Шаг 6. Создание заданий Jenkins ===== * [[Инструмент Jenkins#Примеры проектов/заданий]] pipeline { agent { node { label 'gate' } } stages { stage('Test') { steps { sh '/usr/sbin/squid -k check -f conf.d/my.conf' } } stage('Deploy') { steps { sh 'sudo /bin/cp -r ./* /etc/squid/' sh 'sudo /usr/sbin/squid -k reconfigure' } } } } ===== Шаг 7. Настройка CI/CD ===== * Добавляем ALLOWED_HOST_LIST в [[Инструмент Gitea#Файл конфигурации]] Gitea * Настраиваем [[Инструмент Jenkins#Webhooks]] в Jenkins