Данила Аринов

Junior DevOps-инженер — Linux, Docker, CI/CD, сборка и выкатка релиза

+7 901 431-82-98 · teivrim@gmail.com · Telegram @Smishnyavko · github.com/TeivrimOriginal · Портфолио · LinkedIn

О себе

DevOps у меня не отдельная профессия, а часть разработки: контейнеры, CI на каждом пуше и скрипты сборки релиза, чтобы релиз не зависел от того, кто его делает. Python — основной рабочий язык, на нём пишу скрипты автоматизации; на нём же сервис, который разворачивается через compose. 1086 автотестов суммарно в пяти проектах, CI зелёный на каждом пуше. Ищу junior DevOps-стажировку, готов к тестовому заданию.

Опыт работы

Фриланс — заказы на Kwork Python · по заказам на Kwork
  • Telegram-боты, парсеры сайтов, REST API, автоматизация по ТЗ заказчиков; kwork.ru/user/teivrim.

Проекты

TaskHub — сервис на FastAPI в Docker Compose Docker · PostgreSQL · Redis · Celery
  • Compose-файл на шесть сервисов: postgres, redis, mailpit, api, worker, beat; у каждого свой healthcheck, API и воркеры стартуют только после готовности БД и брокера через depends_on: condition: service_healthy.
  • Данные не теряются между запусками: именованные тома pgdata и redisdata, у БД и брокера restart: unless-stopped.
  • Dockerfile многостадийный: в сборщике остаётся toolchain и кеш wheels, в рантайм попадают только virtualenv и приложение, сервис работает от непривилегированного пользователя; слой зависимостей пересобирается отдельно от кода.
  • Вся конфигурация во внешнем файле: строки подключения, брокер, секрет, флаги логирования; запуск — docker run --env-file .env, без правок в коде.
Сборка релиза Android-игры PowerShell · AAB / APK · SHA-256
  • Скрипт собирает пакеты одной командой, подписывает их ключом и считает SHA-256 каждого артефакта, версии и контрольные суммы пишет рядом с ними.
  • Ключ хранится отдельно от исходников и переживает пересборку: release не должен зависеть от того, на какой машине собрали.
  • Описание релиза и контрольные суммы лежат в репозитории вместе с артефактами — видно, что именно уходило в выкатку.
Anime DB — каталог из 3 публичных API Actix-Web · SQLite FTS5 · Docker
  • Сборка в контейнере, каталог на ~20 тыс. записей пересобирается по расписанию, ручной перезапуск защищён токеном.
  • 564 юнит-теста; CI на каждом пуше: rustfmt, clippy с -D warnings, cargo test — сборка ломается на ошибках и предупреждениях.
github.com/TeivrimOriginal/TeivrimSite

Навыки

Контейнеры: Docker, docker-compose, многостадийная сборка, healthcheck, depends_on по готовности, именованные тома, непривилегированный пользователь CI/CD: GitHub Actions, rustfmt, clippy -D warnings, cargo test, pytest, Allure Автоматизация: PowerShell, Python, переменные окружения вместо правок в коде, .env.example, SHA-256 и версионирование артефактов Системы: Linux, Git, PostgreSQL, Redis, Celery Языки: Python, Rust, JavaScript, SQL, C++ Практики: 1086 автотестов суммарно, CI на каждом пуше, ревью кода

Дополнительно

Английский — чтение технической документации. Открытый код: 11 активных публичных репозиториев, лицензия MIT, у каждого проекта тесты и CI.
Не работал с Kubernetes, Ansible, Terraform и мониторингом — ищу место, где этому учат на задачах.

Скачать PDF
← Все резюме ← Вернуться на сайт