AppVeyor

в 11:50, , рубрики: .net, Builds Automation, Continious Testing, continuous integration, github, msbuild, nuget

Привет.

Я разрабатываю плагин под Java приложения для запуска кода на .Net. Проект открытый, выложен на GitHub. И в какое-то время я решил, что хорошо бы найти Continious Build & Test такой, чтобы я смог в нем собирать продукт.

После небольших поисков мне попалось на глаза довольно интересное и простое решение.

Disclaimer: я не имею никакого отношения к разработке этого продукта, не знаю автора и т.д. Мне просто понравился этот сервис, и я решил написать пост.

Итак, задача: найти SaaS сервис, который бы решил следующие задачи:

  • Простая интеграция с GitHub
  • Простая настройка системы
  • Возможность запуска произвольного скрипта для тестов (мне требовалось запустить Java приложение, чтобы проверить, что плагин прижился и так далее)
  • Наличие бесплатного тарифного плана (с ограничениями, естественно)

Естественно, сначала я перебрал парочку вариантов. Не могу сказать, что искал досконально, однако одной из идей было найти Team City SaaS решение и воспользоваться им. Это логично, так как сам Team City написан на Java, и он умеет запускать MS Build. Мои поиски не увенчались успехом, однако я нашел ответ на StackOverflow, где автор AppVeyor немного рекламировал свой сервис.

Я попробовал его погонять, и мне понравился интерфейс данного решения:

Скрин
AppVeyor

Для работы с ним хватит аккаунта на GitHub. Система поставит хуки на push-операции и будет внимательно следить за репозиторием. В целом, у сервиса есть немало плюсов (с моей точки зрения):

  • Легкая начальная конфигурация. Подключаем аккаунт; говорим, где sln файлы. Всё, билды у Вас уже будут.
  • Несколько режимов тестов: Вы или запускаете стандартные Unit-тесты, или запускаете свой скрипт, что мне и хотелось/
  • Несколько вариантов Deployment'а, в частности Вы можете обновлять beta-версию Вашего сайта (в т.ч. в облаке) автоматически. А главное — это можно легко и быстро настроить. Вы можете даже автоматически выкладывать NuGet пакет после успешного билда.
  • Как видно на картинке, эта система может проставлять версию билда в файлы автоматически, так сказать, из коробки.
  • Конфигурацию можно хранить в самом репозитории с помощью YAML файлов.

Как я сказал выше, мне требовалась Java для запусков тестов. На билд-машинах её не было. Я написал пожелание на сайте, и уже через пару часов на машинах стояла Java. Очень классный сервис в этом отношении.

Естественно, всё это подходит скорее для небольших «домашних» проектов, так как, в отличии от Team City, TFS и подобных систем, здесь у Вас нет полного контроля над процессом сборки, Вы не сможете, например, делать Build какого-нибудь Solution'а после выполнения тестов от предыдущего. Однако же, если есть желание быстро настроить билд, то его легко удовлетворить с помощью этой системы.

И еще раз: я не имею никакого отношения к данному сервису и к его разработке. Цель поста: показать еще один простой способ настроить билд для Вашего репозитория.

Ссылка:

Автор: imanushin

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js