Рубрики
Uncategorized

Действия GitHub для .NET Полная структура: сборка и тест

Можем ли мы создать действия GitHub для создания и тестирования .NET Полные рамочные проекты? ✅ Да, мы можем … с меткой DevOps, Dotnet, GitHub, CI.

Можем ли мы создать действия GitHub для создания и тестирования .NET Полные рамочные проекты?

✅ Да, мы можем! И я покажу вам, как я это сделал.

Но сначала позвольте мне дать вам какой -нибудь контекст 💭

Недавно мне пришлось иметь дело с устаревшей кодовой базой .NET .NET Полный фреймворк -проект.

Исходный код был версирован на GitHub, и был проведен запрос на вытягивание и поток проверки кода для интеграции исходного кода в основную филиал. Тем не менее, не было никаких проверок, чтобы проверить интегрированный код, который позволил бы исходный код, который не собирался, или которые прервали модульные тесты, быть включенными в нашу основную филиал без каких -либо предупреждений.

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

Чтобы улучшить наш рабочий процесс, я подумал о создании рабочего процесса CI с Действия GitHub Чтобы ускорить поток обратной связи во время наших интеграций исходного кода.

При проверке Документация Из действий GitHub я понял, что не было шаблона для создания рабочего процесса для .net Полные рамочные проекты. А потом я задал тот же вопрос в начале этого текста:

Можем ли мы создать действия GitHub для создания и тестирования .NET Полные рамочные проекты?

На протяжении всего моего исследовательского путешествия я обнаружил некоторые ресурсы, как официальные, так и от сообщества:

Использование приведенных выше действий позволило мне создать конвейер CI для моего .NET Полный фреймворк -проект. Я настроил конвейер CI, который будет вызван каждым новым push или запрос на вытягивание В основной ветви, как показано в ci.yml Файл ниже:

Понимание созданного действия

Ниже пошаговое объяснение ci.yml файл:

  1. Определите имя действия GitHub.

  2. Установите, что действия должны быть вызваны push и создание Получить запросы Для филиала Главный (Отделение по умолчанию этого проекта).

  3. Сборка и тест будут выполняться в операционной системе Windows, потому что мы имеем дело с .NET Полная структура (которая не поддерживает другие операционные системы).

  4. Определите раздел, который будет сгруппировать все выполненные шаги, подробно описанные в следующих пунктах.

  5. Оформить код.

  6. Настройка MSBUILD для последующего использования.

  7. Настройка Nuget, для последующего использования.

  8. Настройка VSTEST, для последующего использования.

  9. Перейдите в рабочую область GitHub, чтобы запустить восстановление, построить и проверить приложение.

  10. Используйте Nuget восстановить пакеты, используемые приложением.

  11. Создайте решение с msbuild.exe , режим выпуска.

  12. Запустите тесты Sandbox.tests.dll , используя vstest.console.exe Анкет

Полученные результаты

После того, как мы имплантировали наш трубопровод CI, просто откройте запрос на вытягивание Смотрите результат нашей реализации.

Открытый PR, действия в ожидании исполнения

При открытии запрос на вытягивание Теперь мы можем видеть, что некоторые проверки находятся на рассмотрении.

Открыл PR, Действия выполнялись

После выполнения наших чеков результат уже показан на PR -странице. Теперь, когда чеки включены, Запрос на тягу слияния Кнопка выделена.

Детали выполненных действий

При анализе вкладки «Проверка» мы можем проверить пошаговое выполнение. Если бы произошел какой -либо сбой, на этой странице можно было бы проверить, какой шаг был нарушен, и проанализировать журналы, чтобы определить ошибку.

Если вам интересно просмотреть страницу с подробной информацией о выполнениях действий, Здесь вы можете найти успешное исполнение и Здесь вы найдете неудачное исполнение .

Проект

Вам интересно с проектом? Это хранилище, где доступен весь исходный код:

Felipetofoli/dotnet-full-framework-ci-sandbox

Этот репозиторий направлено на то, чтобы показать, как создать Действия GitHub к Строитель и тест A .Сеть Полная структура Проект веб -API.

🇧 🇷 O Propósito deste Repositório é Apresentar A CrioCão de Действия GitHub Para Um Projeto de Web API .Сеть Полная структура , созерцание как etapas de Build E teste DA Aplicação.

Заключение 🎯

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

Действия GitHub являются очень полезными инструментами для автоматизации процессов CI. Хотя он не содержит начального шаблона в официальной документации, можно создать рабочие процессы с помощью GitHub Deciets для .net Полная структура, благодаря официальным действиям, а также тем, которые созданы и предоставлены сообществом.

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

Пока! 😉 😘

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

Оригинал: «https://dev.to/felipetofoli/github-actions-for-net-full-framework-build-and-test-299h»