Перейти к содержимому

Автоматизируем и улучшаем DevExp вокруг одинокого .NET BFF бекенда

UWDC

0:00 / 0:00

Автоматизируем и улучшаем DevExp вокруг одинокого .NET BFF бекенда

66 просмотров · 1 мес. назад
UWDC
1,53 тыс. подписчиков
66 просмотров · 1 мес. назад
Александр Шинкарев / UWDC 2026 00:00 – Введение и структура доклада 01:00 – Компания Турмалинкор и её инженерная культура 03:43 – Архитектура и инструменты для устойчивого бэкэнда 06:00 – Контейнеризация и Dev Container 09:35 – Docker out of Docker и его преимущества 12:05 – Проблемы с портами при разработке бэкэндов 14:25 – Переход к IDE и использование Visual Studio Code 19:04 – Инструментарий и автоматизация в проекте 22:22 – Тесты и их интеграция в пайплайн 27:35 – Обсуждение тестовой стратегии и покрытия тестами 31:40 – Проблемы с миграциями и базами данных 34:21 – Удаление эндпоинтов и генерация клиентов 38:30 – Скрытый бонус: удаленное окружение разработки 40:06 – QR-коды и репозитории для автоматизации 40:50 – Публикация журнала и завершение доклада 41:22 – Вопросы и ответы после доклада 41:49 – Обновление зависимостей в Docker контейнерах 44:50 – Версионирование пакетов и пул-реквесты 47:00 – Персонализация экстеншенов в команде Целевая аудитория доклада — это .NET-разработчики, но он будет интересен и бекенд-разработчикам других стеков, включая DevOps-инженеров. Ведь инфраструктура отлично портируется для FastAPI, NestJS, даже для C++ и для другого стека. На докладе покажу кросплатформенный, контейнеризованный сетап инфраструктуры вокруг .NET API, который: Хранит свои данные в PostgreSQL Использует EFCore в качестве ORM Предоставляет REST-like API для своего фронтенда, написанного на JS Закрыт JWT-аутентификацией Зависит от внешних сервисов, которые вызывает по HTTP Сетап включает в себя настроенные для запуска в VSCode Dev Containers: PostgreSQL PgAdmin MockServer Karate-тесты Api Акцент на Dev Containers и тотальную контейнеризацию и изоляцию позволяет запускать этот проект не только локально но и в GitHub Codespaces с такими же возможностями для запуска, отладки, тестирования. Это уникальная фишка сетапа. Сам проект, на котором буду показывать, будет жить в GitHub опенсорсе. Бери и используй. Второй частью доклада является автоматизация, в которую входит: Запуск xUnit "unit" тестов в PR Запуск Karate E2E тестов в Docker Compose в PR Проверка того, что нет изменений в модели, для которых забыли добавить миграцию в PR линтинг проекта в PR Запуск xUnit "unit" тестов в PR Генерация диаграммы схемы БД в формате mermaid по модели в PR Подсчет покрытия кода unit и e2e тестами и их общее объединенное покрытие в PR, вместе с создание бэйджей покрытия для README.md Применение semantic-release для выпуска релизов и версионирования Api Публикация npm пакета с клиентом Api для JS-фронта с проверкой линтингом фронтенда, что бекенд его не сломал в PR Сетап подойдёт, как для монолитного бекенда, так и для микросервисной инфраструктуры. Например, RabbitMQ можно добавить по аналогии и тестировать связь с брокером, публикацию сообщений и реакцию на них. Часть инфры от Microsoft для разработке на .NET в VSCode ещё не очень зрелая и устойчивая (экстеншины). Но это уже вполне рабочий подход.