golang

Как «жыбий рыр» кейс делал

  • воскресенье, 2 ноября 2025 г. в 00:00:11
https://habr.com/ru/articles/962284/

В этой статье я расскажу вам, как наша команда - "жыбий рыр" участвовала в хакатоне от DDOS-GUARD

Рассмотрим, какой кейс мы выбрали, покажу, к какой реализации пришли и покажу наше решение, а в конце подведем итоги

Описание кейса

DevOps - Amazing Automata

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

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

читаем листочки
читаем листочки

К какой реализации пришли

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

спрашиваем вопросики
спрашиваем вопросики

В ходе разговоров мы пришли к следующим заключениям:

  • Проекты будем сканировать через репозитории на (GitHub/GitLab)

  • Ограничили пул языков до (python, go, php)

  • Сервисом выбрали консольную утилиту на Go

  • Чтобы не быть привязанными к платформе для билда и деплоя выбрали Ansible

Реализация кейса

Далее мы рассмотрим по шагам, какие действия мы выполняли

  1. Распределили обязанности на команду

Иван (YAML Воин) - писал плейбуки для деплоя и билда приложений
Михаил (Капитан/Scrum мастер) - раздавал всем задачи и валидировал решения
Я (PHP гребец) - писал на Go консольную утилиту

  1. Приступили к реализации

После распределения обязанностей мы приступили к решению кейса

За сутки мы смогли написать утилиту Ivan

Ваня - наша утилита
Ваня - наша утилита

Данная утилита на вход принимала репозиторий, после чего сканирует репозиторий и определяет - язык, есть ли точки входа в приложения main файлы, есть ли пакетные менеджеры, есть ли docker/docker-compose файлы и определяет фреймворк

После анализа - мы передаем ansible аргументы полученные через утилиту и запускаем плейбук с заготовленными параметрами

  1. Презентовали проект перед защитой

До защиты презентаций, эксперты проверяют решения, поэтому мы просирая дедлайны еле как закончили доделывать нашу утилиту и показали наше решение

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

  1. Выступили с презентацией

жабы и рыбы
жабы и рыбы

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

Дальше покажу несколько слайдов из нашей презентации:

Итог

По стечению обстоятельств смогли занять первое место в этом кейсе, попробовали для себя новый инструмент - Ansible и получили бесценный опыт участия на хакатонах

нагавнокодили и радуются
нагавнокодили и радуются

Благодарим компанию DDOS-GUARD, уже участвуем от них на втором хакатоне и довольны кейсами и самой организацией

Наша команда - https://жыбийрыр.рф

Благодарю вас за то, что прочитали данную статью