Открытая легковесная современная система CI/CD с возможностью отображения ошибок/предупреждений сборки в её веб-интерфейсе.

Вопрос или проблема

Я использовал CruiseControl.Net в качестве CI/CD для своих старых проектов, и его можно было настроить так, чтобы он отображал ошибки и предупреждения сборки в отдельном, красивом и легко читаемом веб-интерфейсе. Это было потрясающе. К сожалению, CruiseControl.Net давно заброшен. Совсем не современно.

Я немного использовал TeamCity, который также имел (и, как я думаю, все еще имеет) аналогичную функцию для проектов .NET. Однако это коммерческое, а не открытое решение, и я хочу полнофункциональное локальное и открытое решение.

Есть Jenkins, который, как я помню, также имеет эту функцию. Но Jenkins – это ресурсозатратный монстр, который требует Java, потребляет много ресурсов даже в бездействии (проект довольно мал, поэтому каждое увеличение ресурсов важно) и так далее. Это немного чрезмерно, и он не легковесный.

Все остальные CI/CD, с которыми я столкнулся, предоставляют только отображение журнала сборки и… Это все. Нет интерфейса для ошибок и/или предупреждений, встреченных во время сборки, вам нужно вручную копаться в журнале сборки.

Речь идет о проекте .NET 6.0 ASP .NET Core.

Я что-то пропустил?

Вы пробовали drone? Он основан на Docker и имеет графические интерфейсы, такие как https://github.com/drone/drone-ui

Ответ или решение

Вопрос о выборе легковесной и современной CI/CD системы с возможностью отображения ошибок и предупреждений сборки в веб-интерфейсе — актуальная задача для многих разработчиков, особенно тех, кто работает с проектами на .NET. Рассмотрим несколько подходящих решений, которые соответствуют вашим критериям.

1. Drone CI

Drone CI — это небольшая, основанная на Docker система непрерывной интеграции и доставки, которая завоевала популярность благодаря простоте использования и наличию веб-интерфейса. Основные особенности Drone:

  • Docker-ориентированность: Каждое задание в Drone выполняется в изолированном контейнере Docker, что упрощает управление зависимостями и средами для каждой сборки.
  • Интуитивно понятный интерфейс: Вы можете просматривать статусы сборок, а также легко выявлять и визуализировать ошибки и предупреждения благодаря удобному GUI.
  • Open Source: Drone полностью открыт, что позволяет вам настраивать и модифицировать систему под свои нужды без дополнительных затрат.

Как использовать Drone для .NET проекта:

  1. Установите Docker и Drone на своем сервере.
  2. Настройте файл конфигурации .drone.yml, который описывает ваши сборочные шаги.
  3. Создайте веб-интерфейс Drone, который отображает сборки и их результаты.

2. GitLab CI/CD

GitLab CI/CD — еще одно мощное решение, которое предлагает встроенные функции непрерывной интеграции и доставки. Особенности GitLab CI/CD включают:

  • Интеграция с GitLab: Если вы уже используете GitLab для хостинга репозиториев, вам не нужно настраивать отдельные инструменты.
  • Простой веб-интерфейс: Интерфейс GitLab предоставляет вам возможность видеть статусы сборок, предупреждения и ошибки в рамках отдельной панели, что упрощает процесс отладки.
  • Поддержка .NET: Вы можете легко настроить сборки для .NET 6.0 проектов при помощи скриптов и образов Docker.

Настройка GitLab CI/CD для .NET:

  1. Используйте файл .gitlab-ci.yml для определения шагов сборки.
  2. Воспользуйтесь встроенными функциями GitLab для отслеживания статусов сборок и отображения ошибок.

3. CircleCI

CircleCI — облачная платформа для CI/CD, но она также поддерживает локальные установки через CircleCI Server. Основные функции включают:

  • Легковесный и быстрый: CircleCI может быть более эффективен по сравнению с Jenkins и предлагает удобные инструменты для .NET сборок.
  • Информативный интерфейс: Вы можете видеть статус сборки и ошибки непосредственно в панели инструментов.

Применение CircleCI с .NET:

  1. Настройте файл конфигурации .circleci/config.yml.
  2. Используйте стандартные интеграции для работы с .NET и легко управляйте выводами ошибок.

Заключение

Для вашего проекта на .NET 6.0 я рекомендую уделить особое внимание Drone CI и GitLab CI/CD. Оба инструмента легким и современным подходом к непрерывной интеграции и могут обеспечить необходимые возможности для легкого отображения ошибок и предупреждений в веб-интерфейсе. Обе системы являются открытыми и поддерживают локальные развертывания, что соответствует вашим требованиям.

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

Оцените материал
Добавить комментарий

Капча загружается...