open-source - tools - travis ci




Kontinuierliche Integration für ein kleines.NET-Open-Source-Projekt (7)

Ich beginne ein kleines Open-Source-Projekt, wobei ich für die Zeit allein verantwortlich bin. Dennoch denke ich, dass eine kontinuierliche Integration sinnvoll wäre, um festzustellen, ob ich den Build durchbrochen habe.

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

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

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

Spezifische Anforderungen:

  • Ich hosste mein Projekt bei GitHub , daher benötigt der Continuous Integration Server Git Integration
  • Ich möchte, dass der Continuous Integration Server .NET-Integrationstests ausführt
  • Schön zu haben - ich brauche auch Zugriff auf einen MySQL Server (obwohl ich die Tests ändern könnte, um Embedded SQLite , laufen sie derzeit gegen einen externen MySQL-Server).

Dies wird jetzt von Microsoft kostenlos für Teams von bis zu 5 Personen von Team Foundation Server zur Verfügung gestellt .

Es bietet:

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

Für Visual Studio Team Services ist kein Hostcode erforderlich. Code kann aus GitHub oder einem beliebigen Git-Repository abgerufen werden .

Wenn das Projekt klein ist und keine komplexen Anforderungen zum Erstellen besteht, kann der gehostete Pool zum Ausführen von CI-Builds verwendet werden. Es gibt mehrere Einschränkungen: verfügbare Software, ein Build nach dem anderen, ein Zeitlimit von einer Stunde usw. Wenn dies nicht ausreicht, können Sie eigene Build-Agenten hinzufügen, indem Sie ein Skript auf Ihren Maschinen ausführen.

Die GitHub-Unterstützung ist nicht voll (z. B. werden Pull-Requests nicht erstellt), aber die meisten Funktionen werden unterstützt. Shields.io unterstützt VSO noch nicht, aber ein benutzerdefiniertes Shield ist verfügbar.

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


Es gibt RunCodeAt , auf den mich Pascals Kommentar hingewiesen hat. Es ist super einfach mit github zu integrieren, auf dem ich mein Projekt hostet. Ich werde es versuchen.


Ich habe gerade begonnen, OnCheckin zu verwenden:

https://oncheckin.com/

Sie bieten ausschließlich .NET-Projekte an.



MikeCI ist ein kostengünstiger gehosteter CI-Dienst. Ab 10 US-Dollar pro Monat können Sie innerhalb von Minuten eine Cloud erstellen lassen. Es unterstützt derzeit Ruby, Maven und Ant. Es hat eine kostenlose 30-Tage-Testversion, so dass Sie es ausprobieren und sehen können, wie es ist. Ich persönlich finde es großartig, und ich denke, sie wollen .Net und Objective C unterstützen!

Hier ist ihre Website http://www.mikeci.com


Schauen Sie sich auch CodeHaus an:

http://codehaus.org/

Sie verwenden Atlassians Bamboo CI-Software.

Keine Meinung - wie ich es noch nie benutzt habe.


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

Builds werden mit YAML oder UI konfiguriert. Kostenlose Konten sind jeweils auf einen Build beschränkt. Die Bereitstellung auf NuGet wird ebenso unterstützt wie Projekt- und Kontofeeds. Es ist tief in GitHub integriert, zum Beispiel können Releases erstellt werden. Es unterstützt Build-Matrizen, AssemblyInfo-Patches, rollende Builds, Build-Priorisierung, Status-Badges, Build-Benachrichtigungen usw.

Travis ist eine bekannte CI (und scheint bei weitem die beliebteste gehostete CI zu sein ), jetzt unterstützt es auch C # -, F # - und VB-Projekte . Der Vorbehalt ist, dass es nur Linux und Mono unterstützt und es in der Betaversion ist ("kann jederzeit entfernt oder geändert werden").

MyGet ist ein gehosteter Paketserver, aber jetzt unterstützt er auch Build-Dienste (derzeit Vorschau) und andere Funktionen . Es ist kostenlos für öffentliche Feeds (500 MB max) und hat 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.