Непрерывная интеграция для небольшого проекта с открытым исходным кодом .NET

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

Есть ли бесплатный, размещенный сервер непрерывной интеграции, подходящий для очень маленьких проектов? Googling появился CodeBetter, но я не уверен, что они примут только один проект, который только начинается.

Я предпочитаю TeamCity, но я открыт для предложений.

Примечание. Решение размещено - обязательное условие для меня. Я не хочу настраивать и поддерживать сервер непрерывной интеграции, поэтому ответы, такие как "TeamCity" или "CruiseControl", просто несущественны.

Конкретные требования:

  • Я размещаю свой проект на GitHub, поэтому сервер непрерывной интеграции нуждается Git
  • Я хотел бы, чтобы сервер непрерывной интеграции выполнял тесты интеграции .NET(unit)
  • Приятно иметь - мне также нужен доступ к серверу MySQL (хотя я мог бы модифицировать тесты для использования встроенных SQLite, они в настоящее время работают с внешним сервером MySQL).

Ответ 1

Я знаю, что поток довольно старый, но для людей, которые все еще ищут ответ, я рекомендую взглянуть на AppHarbor

Довольно легко настроить интеграцию с Github и Bitbucket, и у вас есть базовые подключения db бесплатно через опции addon.

Довольно удобно для стартапов.

Ответ 2

AppVeyor хорошо интегрирован с Github, бесплатно для проектов с открытым исходным кодом и очень легко настраивается.

Сборка построена с использованием YAML или UI. Бесплатные учетные записи ограничены одной строкой за раз. Поддерживается развертывание в NuGet, а также каналы проекта и учетной записи. Он глубоко интегрирован с GitHub, например, позволяет создавать релизы. Он поддерживает встроенные матрицы, сборку AssemblyInfo, скользящие сборки, установление приоритетов сборки, значки состояния, уведомления о создании и т.д.


Travis - это известный CI (и, кажется, самый популярный размещенный CI), теперь он поддерживает создание проектов С#, F # и VB слишком. Предостережение заключается в том, что он поддерживает только Linux и Mono, а также в бета-версии ( "может быть удален или изменен в любое время" ).


MyGet - это сервер размещенного пакета, но теперь он также поддерживает Build Services (в настоящее время предварительный просмотр) и другие функции. Он бесплатный для публичных каналов (макс. 500 МБ) и имеет несколько улучшенные функции для одобренных проектов с открытым исходным кодом (большее хранилище и галерея). Служба сборки оптимизирована для пакетов: подача NuGet, каналы MyGet, интеграция с SymbolSource и т.д.

Ответ 3

В настоящее время Microsoft предоставляется бесплатно для групп до 5 человек Team Foundation Server.

Он обеспечивает:

  • Контроль источника: TFS, Git
  • Agile Planning: Agile, Scrum, CMMI
  • Непрерывные сборки
  • Сотрудничество
  • Интеграция
  • Тестирование
  • Развертывание

Сервисы Visual Studio Team не требует кода хостинга, можно извлечь из GitHub или любого репозитория Git.

Если проект мал и не имеет сложных требований к построению, Hosted pool может использоваться для выполнения CI-сборок. Существует несколько ограничений: доступное программное обеспечение, одна сборка за раз, ограничение по времени на один час и т.д. Если этого недостаточно, вы можете добавить свои собственные агенты сборки, запустив script на своих машинах.

Поддержка GitHub не заполнена (например, запросы на pull не построены), но поддерживается большинство функций. Shields.io еще не поддерживает VSO, но доступен специальный экран.

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

Ответ 4

Также ознакомьтесь с CodeHaus:

http://codehaus.org/

Они используют программное обеспечение Atlassian Bamboo CI.

Нет мнения - поскольку я никогда не использовал его.

Ответ 5

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

Для некоторых предложений посмотрите Аутсорсинг непрерывной интеграции или этот вопрос здесь, на SO. Я не рассматривал все решения подробно, поэтому не знаю, соответствуют ли они вашим требованиям (язык, инструмент и цены).

Или попробуйте присоединиться к кузнице, обеспечивающей непрерывную интеграцию для проектов с открытым исходным кодом, таких как The Codehaus ( EDIT: не вариант для проектов .NET AFAIK) или CodeBetter. Это, безусловно, потребует некоторых усилий, чтобы ваш проект был принят (немногие на самом деле являются ИМХО), но это может быть вашим лучшим вариантом.

Ответ 6

Я только начал использовать OnCheckin:

https://oncheckin.com/

Они предназначены исключительно для проектов .NET.

Ответ 7

Возможно, правильный ответ для кого-то сделать набор изображений EC2, доступных для такого рода вещей, поэтому пользователи могут либо использовать Amazon, либо создавать собственное облако на Eucalyptus внутри брандмауэра, если они параноики... но в любом случае вы сохраняете время и стоимость создания этих изображений.

Ответ 8

MikeCI - это доступная по цене служба CI, от 10 долларов США в месяц вы можете создать облачную сборку за считанные минуты. В настоящее время он поддерживает Ruby, Maven и Ant. У него есть бесплатная 30-дневная пробная версия, поэтому вы можете попробовать ее и посмотреть, что ей нравится. Я лично считаю, что это здорово, плюс я думаю, что они ищут поддержку .Net и Objective C!

здесь их сайт http://www.mikeci.com

Ответ 10

Там RunCodeAt, на который указал мне Паскаль. Это очень легко интегрировать с github, на котором я могу организовать мой проект. Я попробую.