it-swarm.com.de

Continuous Integration für ein kleines .NET Open Source Projekt

Ich starte ein kleines Open-Source-Projekt, für das ich selbst der einzige Beitrag war. Dennoch denke ich, dass ein Continuous Integration Setup nützlich wäre, um herauszufinden, ob ich den Build gebrochen habe.

Gibt es einen kostenlosen, gehosteten Continuous Integration Server, der für sehr kleine Projekte geeignet ist? Googeln ist aufgetaucht CodeBetter , aber ich bin nicht sicher, ob sie ein Ein-Mann-Projekt akzeptieren werden, das gerade gestartet wird.

Ich bevorzuge TeamCity , bin aber offen für Vorschläge.

Hinweis - eine gehostete Lösung ist für mich ein Muss. Ich möchte keinen kontinuierlichen Integrationsserver einrichten und warten, daher sind Antworten wie "TeamCity" oder "CruiseControl" einfach irrelevant.

Spezifische Anforderungen:

  • Ich hoste mein Projekt auf GitHub , so dass der Continuous Integration Server Git Integration benötigt
  • Ich möchte, dass der Continuous Integration Server .NET-Integrationstests (Unit-Tests) ausführt
  • Schön zu haben - ich brauche auch Zugriff auf einen MySQL Server (obwohl ich die Tests modifizieren könnte, um eingebettete SQLite zu verwenden, die derzeit gegen einen externen MySQL-Server laufen).
64
ripper234

Ich weiß, dass der Thread ziemlich alt ist, aber für die Leute, die immer noch nach der Antwort suchen, empfehle ich einen Blick auf AppHarbor

Es ist ziemlich einfach, die Integration mit Github und Bitbucket einzurichten, und Sie haben grundlegende Db-Verbindungen kostenlos über die Optionen " addon ".

Sehr praktisch für Startups.

4
ni5ni6

AppVeyor ist gut in Github integriert, kostenlos für Open-Source-Projekte und sehr einfach einzurichten.

Builds werden mithilfe von YAML oder einer Benutzeroberfläche konfiguriert. Kostenlose Konten sind auf jeweils einen Build beschränkt. Die Bereitstellung bei NuGet sowie Projekt- und Konto-Feeds werden unterstützt. Es ist tief in GitHub integriert und ermöglicht beispielsweise das Erstellen von Releases. Es unterstützt Build-Matrizen, AssemblyInfo-Patches, Roll-Builds, Build-Priorisierung, Status-Badges, Build-Benachrichtigungen usw.


Travis ist bekanntes CI (und scheint das beliebtestes gehostetes CI bei weitem zu sein), jetzt ist es unterstützt C #, F # und VB) _ Projekte auch. Der Nachteil ist, dass es nur Linux und Mono unterstützt und es sich in der Beta befindet ("kann jederzeit entfernt oder geändert werden").


MyGet ist ein gehosteter Paketserver, jetzt werden jedoch auch Build Services (derzeit Vorschau) und andere Funktionen unterstützt. Es ist für öffentliche Feeds kostenlos (max. 500 MB) und bietet etwas bessere Funktionen für genehmigte Open-Source-Projekte (größerer Speicher und Galerie). Der Build-Service ist für Pakete optimiert: NuGet-Feed, MyGet-Feeds, SymbolSource-Integration usw.

14

Dies wird jetzt von Microsoft kostenlos für Teams mit bis zu fünf Personen von Team Foundation Server bereitgestellt.

Es bietet:

  • Quellcodeverwaltung: TFS, Git
  • Agile Planung: Agil, Scrum, CMMI
  • Kontinuierliche Builds
  • Zusammenarbeit
  • Integration
  • Test Ausführung
  • Einsatz

Visual Studio Team Services erfordert keinen Hosting-Code, Code kann aus GitHub entnommen werden oder aus einem Git-Repository.

Wenn das Projekt klein ist und keine komplexen Anforderungen zu erstellen haben, kann Hosted Pool zum Ausführen von CI-Builds verwendet werden. Es gibt mehrere Einschränkungen: verfügbare Software, Build für Build, Zeitlimit von einer Stunde usw. Wenn dies nicht ausreicht, können Sie eigene Build-Agents hinzufügen, indem Sie ein Skript auf Ihren Maschinen ausführen.

Die GitHub-Unterstützung ist nicht vollständig (Pull-Requests werden beispielsweise nicht erstellt), die meisten Funktionen werden jedoch unterstützt. Shields.io unterstützt VSO noch nicht, aber ein benutzerdefiniertes Schild ist verfügbar.

Der Hauptnachteil für Open-Source-Projekte ist, dass Build-Protokolle, Testergebnisse und andere Daten nicht öffentlich sind. Auf einem kostenlosen Konto können nur fünf Benutzer Zugriff auf das Projekt erhalten. Es gibt einen Vorschlag zu UserVoice , um öffentliche Projekte zu ermöglichen.

10
Dean Forbes

Schauen Sie sich auch CodeHaus an:

http://codehaus.org/

Sie verwenden die Bamboo CI-Software von Atlassian.

Keine Meinung - da ich es noch nie benutzt habe.

2
tgiphil

Ich glaube nicht, dass Sie leicht einen echten kostenlosen (hiermit für any project, jede Sprache) gehosteten CI-Dienst finden werden, da ein solcher Dienst sehr CPU-, RAM- und Plattenintensität erfordert, was bestimmte Regeln impliziert , Hardware, Preisgestaltung.

Für einige Angebote siehe Outsourcing Continuous Integration oder diese Frage hier auf SO. Ich habe mir nicht alle Lösungen im Detail angesehen, daher weiß ich nicht, ob sie Ihren Anforderungen (Sprache, Werkzeug und Preis) entsprechen.

Oder versuchen Sie sich einer Schmiede anzuschließen, die Continuous Integration für Open Source-Projekte wie Das Codehaus ( EDIT: keine Option für .NET-Projekte AFAIK) oder CodeBetter . Dies erfordert sicherlich einige Anstrengungen, um Ihr Projekt zu akzeptieren (wenige sind tatsächlich IMHO), aber dies ist möglicherweise die beste Option.

1
Pascal Thivent

Ich habe gerade mit OnCheckin angefangen:

https://oncheckin.com/

Sie stellen ausschließlich .NET-Projekte zur Verfügung.

0
Paul