Добрый день, товарищи!

29 ноября Research Development Team Lead в Kaspersky Lab Павел Филонов проведет 8-часовой мастер-класс «Continuous integration для C++ разработчика»:

В головах разработчиков бытует мнение, что их работа заканчивается после того, как они закомитили код, а весь остальной процесс их вовсе не касается. Наша цель — сделать следующий шаг навстречу непрерывной интеграции (CI, англ. Continuous integration) и автоматизировать разрешение зависимостей, сборку и модульное тестирование под все целевые платформы.

 

Непрерывная интеграция

Непрерывной интеграцией называют практику, по которой разработчики периодически (читай: ежедневно) вливают результаты своей работы в основную ветку кода. Впервые данная практика была предложена в методе Буча. Позднее в методологии экстремального программирования она обросла автоматическим прогоном модульных тестов. Своё дальнейшее развитие данная практика получила в виде непрерывной доставки (CD, англ. Continuous delivery) — процесса, в ходе которого после прохождения приёмочных тестов автоматически собирается дистрибутив, готовый к отгрузке заказчику. И уже в самом конце можно говорить об непрерывном развертывании (CD, англ. Continuous deployment), в ходе которого все изменения, прошедшие тестирование, автоматически отправляются в продакшн.

В рамках данного мастер-класса мы будет говорить об CI применительно к разработке на C++.

Часть первая — github
В первой части будем предполагать, что вы пишете домашний проект, работаете над open source или можете хранить исходные коды на стороннем ресурсе и готовы за это заплатить. Какие задачи Вы научитесь решать:
— как автоматизировать сборку под Linux и macOS с помощью Travis CI;
— как автоматизировать сборку под Windows с помощью AppVeyor;
— как управлять зависимостями с помощью Conan;
— как автоматизировать запуск модульных тестов под все платформы;
— как автоматически собирать с разными конфигурациями и версиями компиляторов;
— как создавать собственные пакеты для Conan (первый шаг к CD).

Часть вторая — self hosted gitlab
Во второй части мы рассмотрим ситуацию, когда у Вас рабочий проект с закрытым исходным кодом и вы не хотите сильно зависеть от неподконтрольной инфраструктуры (vendor lock). Какие задачи Вы научитесь решать:
— как быстро развернуть GitLab на Sprintbox;
— как настроить GitLab CI для вашего проекта;
— как настроить хранение conan пакетов.

С еще более подробной информацией о мастер-классе

можно ознакомиться на сайте конференции.

Павел Филонов участвовал в разработке систем Max Patrol SIEM в роли С++ разработчика и Kaspersky MLAD в роли Data Scientist’а. Является членом программного комитета конференции C++ Russia, специализируется на темах CI/ML/performance.


КУПИТЬ БИЛЕТ


На нашем YouTube-канале Вы можете посмотреть видео с весенней конференции CoreHard Spring 2019.
Также напоминаем,что участникам сообщества мы предоставляем персональную скидку в 15%. Присоединяйтесь к активному Telegram-чату и да будет Вам скидка😎.

Присоединяйтесь к чатам сообщества ⤵

CoreHard Telegram
CoreHard Facebook
CoreHard Vkontakte
CoreHard Instagram
CoreHard Conference

До скорых встреч, друзья!