Построение Pipeline в GitLab CI

Реализация CI/CD Pipeline по автотестированию и автодеплою в GitLab CI. Хранение и кеширование Docker-образов.

  • 00:01:49 Обзор GitLab
  • 00:05:18 Создание Pipeline
  • 00:16:57 Добавление Docker Compose
  • 00:18:42 Добавление Docker Dind
  • 00:21:27 Индивидуальный софт для работ
  • 00:22:15 Фильтрация по веткам
  • 00:23:28 Установка make
  • 00:23:42 Команды init и down
  • 00:26:28 Кеширование зависимостей
  • 00:30:53 Кеширование образов через BuildKit
  • 00:34:17 Использование BuildKit в Docker Compose
  • 00:41:59 Подключение реестра образов
  • 00:46:00 Анализаторы и тесты
  • 00:47:26 Сохранение артефактов
  • 00:49:34 Сборка production-образов
  • 00:51:44 Кеширование сборки production-образов
  • 00:55:07 Запуск Smoke и E2E тестов
  • 00:55:51 Команда push
  • 00:57:08 Автодеплой проекта
  • 01:01:56 Сохранение секретных значений
  • 01:04:21 Аутентификация в Docker-реестре
  • 01:06:48 Неудобства с Docker
  • 01:08:09 Подключение runner-ов
Скрытый контент (код, слайды, ...) для подписчиков. Открыть →
Дмитрий Елисеев
elisdn.ru
Комментарии (10)
Arunas

Спасибо.

Ответить
Yevhenii Lykholai

Спасибо.

Ответить
Жалиль

Привет! хотел узнать а у проекта есть чат? Думаю не плохо было бы сформировать своё комьюнити сервиса.

Ответить
Юлия Елисеева

Привет! Чат пока не планировали, т.к. будет отнимать много времени. Все тематические вопросы удобно задавать к конкретному эпизоду. А в чатах много полезной информации сливается в никуда.

Ответить
Дмитрий

Спасибо за полезную серию контента по инфраструктуре, прям оч актуально!

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

Ответить
Дмитрий Елисеев

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

А так чтобы не было проблем с миграциями пишут код так, чтобы он не ломался при этой миграции. Например, сначала заранее миграцией добавляют в базу поле с DEFAULT NULL и только потом пишут код, использующий это поле. В итоге с одной и той же БД сможет работать и старый код, и новый одновременно. И откатывать миграции не будет нужно.

Ответить
А

Все же прошу сделать урок по настройке Gitlab на виртуалке

Ответить
Максим

Ну судя по всему этот Гитлаб пролетает... Чтобы использовать его виртуалку, требует произвести валидацию с помощью карты. А карту из России не принимает. В общем, не рекомендую!

Ответить
Андрей

Было бы круто сделать всё-таки описание настройки с gitlab локальным.

Ответить
Андрей

Доброго времени суток, у меня такая проблема: то кэшируется, то не кэшируется слой:

[17:48:31] #13 [stage-1 2/7] RUN pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis [17:48:33] #13 2.735 downloading redis-6.0.2.tgz ...

[17:42:47] #17 [stage-1 2/7] RUN pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis [17:42:47] #17 CACHED

Разница между сборками 5 минут. в чем может быть пробелма? Докерфайлы полностью идентичны.

Ответить
Зарегистрируйтесь или войдите чтобы оставить комментарий

Или войти через:

Yandex
MailRu
GitHub
Google