В конце марта Мстислав Казаков, руководитель практики Python ГК «Юзтех», провел внешний Usetech Meetup на тему «Как писать Gitlab CI-файлы, которые легко понимать, расширять и поддерживать».
По мере роста проекта и увеличения количества автоматизированных операций содержимое CI-файла Gitlab превращается в спагетти-код. На примере демо-проекта Мстислав поделился подходами, которые помогли ему решить эти проблемы.
Спойлер: проблема решилась с помощью include, reference, правил и манипуляций с Docker. Демо-проект (или эталонный проект) является монорепозиторием (показано на изображении ниже) .
Содержит 10 сервисов, монолит с задней и передней частью и несколько внутренних библиотек.
Если говорить о тестовых средах, обновлениях, циклах выпуска и т. д., то их 3. Первая среда содержит текущую разрабатываемую версию проекта, вторая среда тестирует кандидата на выпуск, а третья среда предназначена для сквозного тестирования.
На этом примере Мстислав показал: — Включите в Gitlab CI: разбили большое на маленькое.
— Ссылка в Gitlab CI: в чем разница между алиасами? Можно ли использовать ссылку в правилах? — Правила в Gitlab CI: замена на устаревшие only/Exception. Я рассматривал как простые правила, так и «комбинированные».
— Строим и разворачиваем все одинаково: нюансы сборки и развертывания сервисов я вынес из CICD-процессов.
— Переменные Env из настроек Gitlab CI: как упростить управление большим количеством переменных.
— Все вакансии имеют единое изображение! Как сэкономить время и строки кода.
— Бегуны Gitlab: как это делается и почему это полезно знать? Смотрите видео и оставляйте отзывы в виде вопросов и комментариев.
Теги: #python #программирование #docker #gitlab ci
-
Ваш Компьютер Болен?
19 Oct, 24 -
Примечания К Модулю Спецификации Dynamics Gp
19 Oct, 24 -
Гум-Арабик
19 Oct, 24 -
Что Такое Бережливый Холст?
19 Oct, 24