Как настроить CI / CD с GitHub и размещенным сервером Windows - PullRequest
0 голосов
/ 20 сентября 2018

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

Вот что я пытаюсь выполнить:

У меня есть 3 репозитория на github (TCP-сервер, приложение ASP.NET MVC, сценарии MySQL).

  1. Создание коммита
  2. Код перетаскивается из GitHub намой сервер OVH для Windows 2012
  3. Код построен
  4. Выполнены модульные тесты (NUnit)
  5. Служба TCP-сервера обновлена, файлы конфигурации обновлены, служба перезапущена
  6. Сценарий обновления MySQL запущен для базы данных
  7. Тесты MyTap выполняются для базы данных для проверки миграции
  8. Протрите Redis DB все данные с определенным префиксом (т. Е. Ключи, начинающиеся с 'prod')
  9. Обновление приложения IIS с последним встроенным кодом, обновление конфигурации, перезапуск пула приложений
  10. Запуск интеграционных тестов для базы данных (NUnit)
  11. Выполнение конечных тестов конца 2 (NUnit)
  12. Выполните тесты Selenium against asp.net application
  13. Интеграция с GitHub и создание отчетов о состоянии, отправка электронной почты в случае сбоя любого шага

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

Но я хотел бы сначала подумать о том, какие у меня есть варианты?Я посмотрел на Travis CI, но меня беспокоит совместимость .NET, учитывая, что они используют mono / msbuild для Linux.Я также посмотрел на Дженкинса, но я не знаю, сможет ли он справиться с моими требованиями и насколько сложно будет все это настроить.

У меня очень мало работы с CI / CD, поэтому я 'были потеряны при поиске решений.Большинство рассмотренных мною решений дороги, не работают на Windows, не очень хорошо поддерживают .NET или не поддерживают дальнейшие настройки.

...