Привет.
Я разрабатываю плагин под Java приложения для запуска кода на .Net. Проект открытый, выложен на GitHub. И в какое-то время я решил, что хорошо бы найти Continious Build & Test такой, чтобы я смог в нем собирать продукт.
После небольших поисков мне попалось на глаза довольно интересное и простое решение.
Disclaimer: я не имею никакого отношения к разработке этого продукта, не знаю автора и т.д. Мне просто понравился этот сервис, и я решил написать пост.
Итак, задача: найти SaaS сервис, который бы решил следующие задачи:
- Простая интеграция с GitHub
- Простая настройка системы
- Возможность запуска произвольного скрипта для тестов (мне требовалось запустить Java приложение, чтобы проверить, что плагин прижился и так далее)
- Наличие бесплатного тарифного плана (с ограничениями, естественно)
Естественно, сначала я перебрал парочку вариантов. Не могу сказать, что искал досконально, однако одной из идей было найти Team City SaaS решение и воспользоваться им. Это логично, так как сам Team City написан на Java, и он умеет запускать MS Build. Мои поиски не увенчались успехом, однако я нашел ответ на StackOverflow, где автор AppVeyor немного рекламировал свой сервис.
Я попробовал его погонять, и мне понравился интерфейс данного решения:
Для работы с ним хватит аккаунта на GitHub. Система поставит хуки на push-операции и будет внимательно следить за репозиторием. В целом, у сервиса есть немало плюсов (с моей точки зрения):
- Легкая начальная конфигурация. Подключаем аккаунт; говорим, где sln файлы. Всё, билды у Вас уже будут.
- Несколько режимов тестов: Вы или запускаете стандартные Unit-тесты, или запускаете свой скрипт, что мне и хотелось/
- Несколько вариантов Deployment'а, в частности Вы можете обновлять beta-версию Вашего сайта (в т.ч. в облаке) автоматически. А главное — это можно легко и быстро настроить. Вы можете даже автоматически выкладывать NuGet пакет после успешного билда.
- Как видно на картинке, эта система может проставлять версию билда в файлы автоматически, так сказать, из коробки.
- Конфигурацию можно хранить в самом репозитории с помощью YAML файлов.
Как я сказал выше, мне требовалась Java для запусков тестов. На билд-машинах её не было. Я написал пожелание на сайте, и уже через пару часов на машинах стояла Java. Очень классный сервис в этом отношении.
Естественно, всё это подходит скорее для небольших «домашних» проектов, так как, в отличии от Team City, TFS и подобных систем, здесь у Вас нет полного контроля над процессом сборки, Вы не сможете, например, делать Build какого-нибудь Solution'а после выполнения тестов от предыдущего. Однако же, если есть желание быстро настроить билд, то его легко удовлетворить с помощью этой системы.
И еще раз: я не имею никакого отношения к данному сервису и к его разработке. Цель поста: показать еще один простой способ настроить билд для Вашего репозитория.
Ссылка:
Автор: imanushin