GitHub Actions и BitBucket Pipelines

Реализация CI/CD pipeline в сервисе GitHub Actions. Использование GitHub Packages для хранения Docker-образов. Кэширование Docker-слоёв простой и мультистадийной сборки через BuildKit. Подводные камни сервисов. Использование BitBucket Pipelines и CircleCI.

  • 00:02:12 - Обзор Github Actions
  • 00:07:28 - Добавление экшенов
  • 00:09:32 - Создание своего Workflow
  • 00:12:21 - Команда init
  • 00:15:30 - Кэширование вендоров
  • 00:18:50 - Кеширование слоёв Docker
  • 00:28:23 - Кеширование в Docker Compose
  • 00:34:24 - Подключение своего реестра
  • 00:36:02 - Логин в реестр
  • 00:36:41 - Переход на GitHub Packages
  • 00:41:30 - Линтеры и тесты
  • 00:44:26 - Сохранение логов в артефакты
  • 00:47:01 - Сборка production-образов
  • 00:49:14 - Кеширование мультистадийной сборки
  • 00:54:54 - Проблема мультистадийного кэширования
  • 00:58:45 - Поддержка нескольких веток
  • 01:03:05 - Проверки тестового окружения
  • 01:04:07 - Публикация production-образов
  • 01:04:48 - Деплой по SSH ключу
  • 01:08:30 - Подключение сторонних воркеров
  • 01:12:27 - Обзор CircleCI
  • 01:17:55 - Обзор BitBucket Pipelines
Скрытый контент
Комментарии (27)
Руслан
2020-06-19 09:16

Здравствуйте, подскажите что делать с ключами для приватных репозиториев в BitBucket Pipelines (в проект добавляются сторонние приватные пакеты). Не копирвоать же в контейнер.

Ответить
Дмитрий (Deworker Pro)
2020-06-20 07:17

Передавать их при сборке через --build-arg

Ответить
Arunas
2020-06-19 17:51

спасибо.

Ответить
Дмитрий Ориховский
2020-06-20 16:54

Дмитрий спасибо за годный контент! Если у Вас будет возможность, можете рассказать немного о Kubernetes. Спасибо.

Ответить
elmut
2020-06-21 21:59

я все жду use cese как правильно организовать взаимодействие между двумя разными модулями. Жду урок "Доменная модель аукциона" , a потом уже будет тема которую я жду :) все php, застряли на Ansible им это достаточно.

Ответить
Дмитрий (Deworker Pro)
2020-06-23 10:24

Про доменную модель будет много частей, а не одно видео.

Ответить
Дмитрий (Deworker Pro)
2020-06-23 09:58

Немного расскажем.

Ответить
Дмитрий Ориховский
2020-06-23 10:53

Спасибо.

Ответить
Александр
2020-06-21 07:16

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

Ответить
Дмитрий (Deworker Pro)
2020-06-23 10:05

Конкретно этот код теперь оформлен в репозитории в виде отдельной ветки github-actions.

Ответить
Виктор
2020-06-22 07:56

Сколько планируется уроков в этом курсе-проекте? Или еще нет четкого представления о его продолжительности? Проект по Симфони вроде был 3-4 месяца, а этот уже растянулся более чем на пол года и материала тут еще, с такими темпами, на + пол года наберется. (Уж больно редко уроки выходят)

Ответить
Дмитрий (Deworker Pro)
2020-06-23 11:35

Сколько планируется уроков в этом курсе-проекте?

Есть только большой план рассматриваемых тем. Но он не определяет число эпизодов.

Например, в проекте по Symfony тема "регистрация пользователей" была рассмотрена по верхам целиком в одном неудобном пятичасовом видео. Без репитиции и монтажа. С кашлем и всеми ляпами прямого эфира.

Здесь же (как многие просили) эта одна тема удобно разбита по подтемам. Каждый эпизод подготовлен отдельно, записан черновик, перезаписан чистовой вариант и чистовик полностью очищен от дыхания, кашля, пауз и повторов. В итоге из одной темы получилось восемь эпизодов с 12 по 19.

Плюс к этому уже в комментариях дополнительно предложили рассмотреть сопутствующие темы вроде поднятия своего Docker-реестра, использования GitLab, установки Sentry и подготовки проекта к разбиению на микросервисы.

Материала тут еще, с такими темпами, на + пол года наберется

Если аукцион делать примитивным, то завершим быстро, но пользы будет мало. Если же сделаем доменную модель более сложную из нескольких контекстов с приёмом платежей, юрлицами, модерацией, сделками и арбитражом, то и эпизодов будет под сотню.

Уж больно редко уроки выходят

Удалённая работа из дома привносит свои неудобства.

Ответить
Виктор
2020-06-23 11:38

Спасибо за ответ =)

Ответить
fedot
2020-06-25 16:13

Дима, спасибо, все делаешь правильно, чем больше эпизодов тем лучше, ты уцепил весь нужный материал, ничего лишнего нету, но волнует вопрос сохранности видео, будет ли возможность скачать, для подписчиков?

Ответить
Дмитрий (Deworker Pro)
2020-06-28 17:01

Тогда начнут активно скачивать не только подписчики, но и пираты. Так что вопрос сложный.

Ответить
Bondarenko Alexandr
2020-06-29 09:16

Заладили блин. Неужели жалко 500 рублей/месяц на материал такого качества? По подписке-то материал будет доступен всегда

Ответить
ХОРХОЙ
2020-07-02 00:42

Лучше что-бы, как минимум до конца данного проекта, точно возможности скачать не было. Иначе махом переедет на торренты. А это в любом случае не в наших интересах (как Автора, так и Подписчиков).

Ответить
fedot
2020-07-02 15:50

Согласен

Ответить
Максим
2020-06-23 06:28

Вопрос не по теме, но все же задам. Когда примерно ожидать "Написание HTTP-фреймворка"?

Ответить
Дмитрий (Deworker Pro)
2020-06-23 11:38

Уже готовим сценарий и слайды к первому видео и начали перерабатывать код. За два года там много чего поменялось.

Ответить
Роман
2020-06-23 08:36

Здравствуйте, Дмитрий есть ли какой нибудь график выхода новых видео?

Ответить
Дмитрий (Deworker Pro)
2020-06-23 11:39

Точного графика нет. Видео выходят по готовности. Если приходят новые интересные идеи, то добавляются новые темы.

Ответить
Роман
2020-06-23 12:44

Спасибо!

Ответить
Arunas
2020-06-23 15:40

поддерживаю вашу точку зрения - самое важное качество и четкость.

Ответить
Александр
2020-06-25 18:05

Спасибо ! Поверхностно не надо, ваш подход очень нравиться.

Ответить
Valentin
2020-06-26 17:49

Вопрос по выпуску с кукмбером и тестами, мы там указали чтобы кукумбер тестировал главную страницу по адресу gateway:8080 а почему не указать прямо название сервиса "frontend" или разницы по сути нет?

Ответить
Дмитрий (Deworker Pro)
2020-06-28 17:10

Если тестировать только frontend, то можем случайно пропустить ошибки в gateway.

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