Онлайн-Митап От Руководителя Практики Python Usetech

В конце марта Мстислав Казаков, руководитель практики Python ГК «Юзтех», провел внешний Usetech Meetup на тему «Как писать Gitlab CI-файлы, которые легко понимать, расширять и поддерживать».

По мере роста проекта и увеличения количества автоматизированных операций содержимое CI-файла Gitlab превращается в спагетти-код. На примере демо-проекта Мстислав поделился подходами, которые помогли ему решить эти проблемы.

Спойлер: проблема решилась с помощью include, reference, правил и манипуляций с Docker. Демо-проект (или эталонный проект) является монорепозиторием (показано на изображении ниже) .

Содержит 10 сервисов, монолит с задней и передней частью и несколько внутренних библиотек.

Если говорить о тестовых средах, обновлениях, циклах выпуска и т. д., то их 3. Первая среда содержит текущую разрабатываемую версию проекта, вторая среда тестирует кандидата на выпуск, а третья среда предназначена для сквозного тестирования.



Онлайн-митап от руководителя практики Python Usetech

На этом примере Мстислав показал: — Включите в Gitlab CI: разбили большое на маленькое.

— Ссылка в Gitlab CI: в чем разница между алиасами? Можно ли использовать ссылку в правилах? — Правила в Gitlab CI: замена на устаревшие only/Exception. Я рассматривал как простые правила, так и «комбинированные».

— Строим и разворачиваем все одинаково: нюансы сборки и развертывания сервисов я вынес из CICD-процессов.

— Переменные Env из настроек Gitlab CI: как упростить управление большим количеством переменных.

— Все вакансии имеют единое изображение! Как сэкономить время и строки кода.

— Бегуны Gitlab: как это делается и почему это полезно знать? Смотрите видео и оставляйте отзывы в виде вопросов и комментариев.

Теги: #python #программирование #docker #gitlab ci

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.