YouTube
Пишем реальный CI/CD пайплайн | GITLAB CI/CD на практике
Пишем универсальный CI/CD пайплайн за 19 минут.
Арендуйте облачный сервер в Selectel для ваших проектов всего за пару минут: https://slc.tl/btgva
🎓 Обучение самым востребованным и высокооплачиваемым технологиям, которые нужны Backend разработчику, на практике:…
Арендуйте облачный сервер в Selectel для ваших проектов всего за пару минут: https://slc.tl/btgva
🎓 Обучение самым востребованным и высокооплачиваемым технологиям, которые нужны Backend разработчику, на практике:…
Уровень материала: 🐓 #senior
У Артёма Шумейко ещё не очень давно вышло два видео, посвящённых CI/CD. Одно теоретическое, другое — практическое. И вот второе мне очень даже понравилось — хочется им поделиться. К тому же ранее я уже рекомендовал его видео по деплою приложений, а CI/CD можно рассматривать как автоматизацию этого процесса.
Указанный уровень материала очень условный. Вопросы CI/CD "официально" не входят в область GameDev-специальности, а уж тем более middle-уровня. Но навык это незатейливый и очень полезный на любом уровне специализации. Полезный и для корпоративной жизни, и для личной — навести автоматизацию на своих петах тоже удобно. А достопочтенному senior'у как-будто бы даже зазорно не уметь в такое хотя бы на уровне теории.
В больших компашках на 100+ человек обычно есть выделенные devops-человечки. И обычно они постоянно заняты, т.к. обязанностей у них предостаточно. Оперативно решить вопросики с CI\CD малого масштаба можно самостоятельно — тут и поможет накопленная экспертиза.
Или можно угодить в коллектив поменьше или того страшнее — собрать его самому. Тогда автоматизируешь рутину и повысишь эффективность команды или ты, или никто.
Запустить автотесты, собрать билд, собрать бандлы, задеплоить бандлы, опубликовать приложение во внутреннее тестирование — как часто это приходится делать и как много это времени занимает, если делать всё вручную. А если ещё есть какие-то зависимые сервера и прочая инфраструктура, то всё становится в разы увлекательнее. В какой-то момент становится выгоднее посидеть денёк другой и всё разочек автоматизировать, чем продолжать тратить время на эту рутину.
Этот ролик — пока самое лучшее из того, что я видел вводного по теме. Он короткий, он по делу, он ёмкий и понятный, он легко и интересно смотрится, он наглядный и качественно сделанный.
Показан весь путь автоматизации: от самого процесса выбора, аренды и настройки сервера до непосредственного автоматизированного деплоя приложения. Хоть тут же повторяй, даже если понятия не имеешь, где и как брать сервера.
И сам пример хорошо демонстрирует для чего нужен CI/CD, для чего нужны тесты, почему важно это всё автоматизировать и почаще гонять.
Gitlab, возможно, не самое популярное решение в геймдеве: я обычно встречаю Jenkins и TeamCity (и изредка Unity Build Automation). И т.к. сборка игрового проекта занятие продолжительное и тяжеловесное, то и сборки делаются не так часто, как об этом пишут применительно к другим сферам. Особенно если проектов много, а машинок для сборки — чуть-чуть или вообще одна. Но на уровне идеи это всё не имеет значения: процессы примерно одинаковые во всех системах и для разной природы проектов. А как выглядит дашборд и какие цифры ставить в настройках — дело наживное.
—————————————
#gamedev #development #backend #infrastructure #devops #cicd #геймдев #разработка #бэкенд #девопс #инфраструктура #автоматизация #рекомендация #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Сценарий применения LLM из личного опыта
Уровень материала: 🤖 #ai
Чем больше осваиваю нейросетевые технологии, тем больше разнообразных сценариев использования открывается, в которых это может помочь увеличить продуктивность и эффективность. Об одном из таких сценариев, думаю, будет полезно рассказать.
⏰ Предыстория:
Моей команде был передан на поддержку пожилой немаленький проект. У этого проекта есть своя инфраструктура, пережившая несколько поколений разработчиков.
Возможности уделять много времени этому проекту нет никакой, как и выделить на него дополнительный человеческий ресурс. Однако проект внимания требует, потому что то тут, то там на бэкенде внезапно чего-нибудь да отвалится.
💬 Ситуация:
Нужно настроить какой-то мониторинг с алёртингом и автоматизировать восстановление инфраструктуры. Но и этим заниматься некому и некогда.
💡 Решение:
Нагрузить «того парня», виртуального.
Сначала были настроены как следует Restart-политики для Docker-контейнеров, чтобы те автоматически перезагружались при авариях.
Далее 10 минут на выяснение, как лучше реализовать скрипт мониторинга, оповещение в Telegram-чат, как это всё лучшим образом «присоседить», как получать логи и как «вручную» из скрипта поднимать упавшие намертво контейнеры.
На выходе были получены все инструкции и готовый Python-скрипт.
Следующие 20 минут ушли на настройку, интеграцию и первичные тесты.
Итого на решение проблемы понадобилось 30 мин⏱
🎯 Результат:
Теперь можно было оперативно узнать о происшествиях и о том, удалось ли возникшую ситуацию разрешить автоматизированно и требуется ли человеческое вмешательство.
Потрачено минимум усилий, и все довольны. На всё про всё для решения простой DevOps-задачи потребовался один Unity-разработчик на полчаса. Далее уже по мере высвобождения ресурсов можно будет заменить свою поделку на какой-нибудь полнлценный Zabbix.
LLM помогла собрать в кучу все необходимые шаги, дать полезные рекомендации с подробными инструкциями и сгенерировать в целом рабочее решение. Всё это очень быстро и доступно для человека, который не занимается подобными вопросами в своей деятельности.
🤩 Про роль ИИ:
Однако, конечно, LLM не всё сгенерировала сразу и хорошо. Были косяки. Важно уметь их распознать, чтобы отправить на доработку или исправить самостоятельно.
Чтобы реализовать эту задачу всё равно нужны базовые знания Linux-систем, Docker'а и синтаксиса Python. Благо это стандартный набор для любого разработчика. А разные языки вообще полезно периодически прощупывать, особенно из числа популярных.
Напоминаю, что игровая разработка одним только Unity не ограничивается. Например, мне на этой неделе HR прислал вакансию со стеком: Unity, SRP, ECS, Burst, Job System, клиент-сервер, PostgreSQL, TeamCity, Dapper, Prometheus, Grafana. А клиент-сервер – это сразу Linux и Docker.
Вакансия на Tech Lead. Но:
🟣 Это ещё даже не вершина айсберга.
🟣 Не все эти слова появляются на этом грейде. Они все постепенно налипают с опытом.
Для вертикального роста по-хорошему крепкий Middle уже должен быть хоть немного знаком с клиент-сервером, Linux, Docker, CI и уметь разбираться в коде на других языках. Как минимум тех, которые используются на целевых платформах разработки.
Поэтому LLM – не замена разработчику, а скорее его экзоскелет, который позволяет делать больше, шире и быстрее, не отвлекаясь на рутину. Появление LLM не снимает обязательств по обучению и повышению своих компетенций, но помогает в этом.
❗️ Возможно это даже станет той причиной, по которой в будущем требований к специалистам станет только больше❗️
————————————
#gamedev #development #llm #ai #experience #case #devops #monitoring #backend #infrastructure #геймдев #разработка #опыт #ии #ситуация #мониторинг #инфраструктура #бэкенд #aks2dio
Уровень материала: 🤖 #ai
Чем больше осваиваю нейросетевые технологии, тем больше разнообразных сценариев использования открывается, в которых это может помочь увеличить продуктивность и эффективность. Об одном из таких сценариев, думаю, будет полезно рассказать.
Моей команде был передан на поддержку пожилой немаленький проект. У этого проекта есть своя инфраструктура, пережившая несколько поколений разработчиков.
Возможности уделять много времени этому проекту нет никакой, как и выделить на него дополнительный человеческий ресурс. Однако проект внимания требует, потому что то тут, то там на бэкенде внезапно чего-нибудь да отвалится.
Нужно настроить какой-то мониторинг с алёртингом и автоматизировать восстановление инфраструктуры. Но и этим заниматься некому и некогда.
Нагрузить «того парня», виртуального.
Сначала были настроены как следует Restart-политики для Docker-контейнеров, чтобы те автоматически перезагружались при авариях.
Далее 10 минут на выяснение, как лучше реализовать скрипт мониторинга, оповещение в Telegram-чат, как это всё лучшим образом «присоседить», как получать логи и как «вручную» из скрипта поднимать упавшие намертво контейнеры.
На выходе были получены все инструкции и готовый Python-скрипт.
Следующие 20 минут ушли на настройку, интеграцию и первичные тесты.
Итого на решение проблемы понадобилось 30 мин
Теперь можно было оперативно узнать о происшествиях и о том, удалось ли возникшую ситуацию разрешить автоматизированно и требуется ли человеческое вмешательство.
Потрачено минимум усилий, и все довольны. На всё про всё для решения простой DevOps-задачи потребовался один Unity-разработчик на полчаса. Далее уже по мере высвобождения ресурсов можно будет заменить свою поделку на какой-нибудь полнлценный Zabbix.
LLM помогла собрать в кучу все необходимые шаги, дать полезные рекомендации с подробными инструкциями и сгенерировать в целом рабочее решение. Всё это очень быстро и доступно для человека, который не занимается подобными вопросами в своей деятельности.
Однако, конечно, LLM не всё сгенерировала сразу и хорошо. Были косяки. Важно уметь их распознать, чтобы отправить на доработку или исправить самостоятельно.
Чтобы реализовать эту задачу всё равно нужны базовые знания Linux-систем, Docker'а и синтаксиса Python. Благо это стандартный набор для любого разработчика. А разные языки вообще полезно периодически прощупывать, особенно из числа популярных.
Напоминаю, что игровая разработка одним только Unity не ограничивается. Например, мне на этой неделе HR прислал вакансию со стеком: Unity, SRP, ECS, Burst, Job System, клиент-сервер, PostgreSQL, TeamCity, Dapper, Prometheus, Grafana. А клиент-сервер – это сразу Linux и Docker.
Вакансия на Tech Lead. Но:
Для вертикального роста по-хорошему крепкий Middle уже должен быть хоть немного знаком с клиент-сервером, Linux, Docker, CI и уметь разбираться в коде на других языках. Как минимум тех, которые используются на целевых платформах разработки.
Поэтому LLM – не замена разработчику, а скорее его экзоскелет, который позволяет делать больше, шире и быстрее, не отвлекаясь на рутину. Появление LLM не снимает обязательств по обучению и повышению своих компетенций, но помогает в этом.
————————————
#gamedev #development #llm #ai #experience #case #devops #monitoring #backend #infrastructure #геймдев #разработка #опыт #ии #ситуация #мониторинг #инфраструктура #бэкенд #aks2dio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3✍1👌1
Уровень материала: 🐓 #senior
Давно не попадались под руку материалы по CI/CD. А тема-то важная. Геймдев — это не только лишь игрушки, и об этом не стоит забывать.
В прошлый раз
Про всё про это, но подробнее и применительно именно к геймдеву, на Хабре на днях вышла обзорная статья
С пояснениями, существующими решениями, сравнениями, реальными примерами использования и стоимости — со всем, что может быть интересно и полезно тому, кто только к этому приобщается.
Написано просто, понятно, последовательно, не перегружено. Оформлено красочно и удобно.
Единственное, я бы отметил, что связка из Unity Cloud Build, TeamCity и GitLab CI/CD достаточно экзотическая. Получается, что за CI отвечают одни сервисы, а за CD — другие.
Обычно нет необходимости поддерживать такой парк технологий — со всем описанным бы справился и один TeamCity или один GitLab CI/CD.
Но этим и интересен пример. Была начальная ситуация. Условия поменялись — появились проблемы. Надо решать теми средствами (и руками), что есть, с минимальными рисками, ещё и «на ходу».
Перестраивать такие процессы стоит только постепенно. И вот — можно наблюдать промежуточный результат.
Возможно в следующих частях удастся узнать о том, как дальше развивается эта история.
Оставлю ещё ссылки на стримы от K-Syndicate по теме CI/CD: первый практический
Там наглядно и подробно про автоматизацию сборки в Unity, про написание скриптов, про использование Cake, про встраивание в TeamCity, про сценарии использования Unity Cloud Build и многое другое по мелочи.
—————————————
#gamedev #development #backend #infrastructure #devops #cicd #геймдев #разработка #бэкенд #девопс #инфраструктура #автоматизация #рекомендация #статья #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3