♾️ Рекомендация видео по старту в CI/CD ♾️

Уровень материала: 🐓 #senior
У Артёма Шумейко ещё не очень давно вышло два видео, посвящённых CI/CD. Одно теоретическое, другое — практическое. И вот второе мне очень даже понравилось — хочется им поделиться. К тому же ранее я уже рекомендовал его видео по деплою приложений, а CI/CD можно рассматривать как автоматизацию этого процесса.

При чём тут геймдев:

Указанный уровень материала очень условный. Вопросы CI/CD "официально" не входят в область GameDev-специальности, а уж тем более middle-уровня. Но навык это незатейливый и очень полезный на любом уровне специализации. Полезный и для корпоративной жизни, и для личной — навести автоматизацию на своих петах тоже удобно. А достопочтенному senior'у как-будто бы даже зазорно не уметь в такое хотя бы на уровне теории.

В больших компашках на 100+ человек обычно есть выделенные devops-человечки. И обычно они постоянно заняты, т.к. обязанностей у них предостаточно. Оперативно решить вопросики с CI\CD малого масштаба можно самостоятельно — тут и поможет накопленная экспертиза.

Или можно угодить в коллектив поменьше или того страшнее — собрать его самому. Тогда автоматизируешь рутину и повысишь эффективность команды или ты, или никто.

Запустить автотесты, собрать билд, собрать бандлы, задеплоить бандлы, опубликовать приложение во внутреннее тестирование — как часто это приходится делать и как много это времени занимает, если делать всё вручную. А если ещё есть какие-то зависимые сервера и прочая инфраструктура, то всё становится в разы увлекательнее. В какой-то момент становится выгоднее посидеть денёк другой и всё разочек автоматизировать, чем продолжать тратить время на эту рутину.

Что хорошего в видео:

Этот ролик — пока самое лучшее из того, что я видел вводного по теме. Он короткий, он по делу, он ёмкий и понятный, он легко и интересно смотрится, он наглядный и качественно сделанный.

Показан весь путь автоматизации: от самого процесса выбора, аренды и настройки сервера до непосредственного автоматизированного деплоя приложения. Хоть тут же повторяй, даже если понятия не имеешь, где и как брать сервера.

И сам пример хорошо демонстрирует для чего нужен CI/CD, для чего нужны тесты, почему важно это всё автоматизировать и почаще гонять.

Gitlab, возможно, не самое популярное решение в геймдеве: я обычно встречаю Jenkins и TeamCity (и изредка Unity Build Automation). И т.к. сборка игрового проекта занятие продолжительное и тяжеловесное, то и сборки делаются не так часто, как об этом пишут применительно к другим сферам. Особенно если проектов много, а машинок для сборки — чуть-чуть или вообще одна. Но на уровне идеи это всё не имеет значения: процессы примерно одинаковые во всех системах и для разной природы проектов. А как выглядит дашборд и какие цифры ставить в настройках — дело наживное.

—————————————

33
8 комментариев

Уровень материала: 🐓 #seniorОчень сомневаюсь, что синьор будет смотреть видос на ютубе, да ещё и на русском языке (индийцы наше всё).

3

Сеньоры это где-то на западе вообще, у нас это товарищ

3

CI/CD - это именно про деплрйна сервер или это более широкое понятие?

Широкое. Деплой на сервер - не всегда конечная точка. До деплоя кучу проверок кода и безопасности, после деплоя - ещё автотесты.

1

Как верно ранее уже заметили, CI/CD более широкое понятие. Если ужать его максимально компактно, то получится что-то типа "автоматизация процессов разработки".
Для ознакомления можно использовать другое видео Артёма:
https://youtu.be/pFKwmEdwZZQ?si=bzWgi8AieRpz-Niw

Или эту краткую вводную статью:
https://sky.pro/wiki/profession/chto-takoe-cicd-i-kak-eto-rabotaet/

1

Я не уверен, что от ролика на 19 минут будет какая-то выжимка. Тем более это скорее хард-скилл.