66 votes

Intégration continue pour un petit projet open source .NET

Je lance un petit projet open source, dont je suis l'unique contributeur pour le moment. Pourtant, je pense qu'un intégration continue serait utile pour détecter si j'ai cassé la construction.

Existe-t-il un serveur d'intégration continue hébergé et gratuit qui conviendrait pour très petits projets ? En cherchant sur Google, j'ai trouvé CodeBetter mais je ne suis pas sûr qu'ils accepteront un projet individuel qui vient de démarrer.

Je préfère TeamCity mais je suis ouvert aux suggestions.

Note - un hébergé sur est une solution incontournable pour moi. Je ne veux pas installer et maintenir un serveur d'intégration continue, donc des réponses comme "TeamCity" ou "CruiseControl" ne sont pas pertinentes.

Exigences spécifiques :

  • J'héberge mon projet à GitHub Le serveur d'intégration continue doit donc Git intégration
  • Je souhaite que le serveur d'intégration continue exécute des tests d'intégration (unitaires) .NET.
  • C'est une bonne chose, mais j'ai aussi besoin d'un accès à un site Web. MySQL (bien que je puisse modifier les tests pour utiliser le serveur intégré). SQLite (ils fonctionnent actuellement sur un serveur MySQL externe).

14voto

AppVeyor est bien intégré à Github, gratuit pour les projets open-source et vraiment facile à mettre en place.

Les builds sont configurés en utilisant YAML ou UI. Les comptes gratuits sont limités à un seul build à la fois. Le déploiement vers NuGet est pris en charge, ainsi que les flux de projets et de comptes. Il est profondément intégré à GitHub, ce qui permet par exemple de créer des releases. Il supporte les matrices de build, AssemblyInfo Parcheando, les rolling builds, la priorisation des builds, les badges d'état, les notifications de builds, etc.


Travis est bien connu de CI (et semble être le CI hébergé le plus populaire de loin), maintenant il prend en charge la création de projets C#, F# et VB aussi. L'inconvénient est qu'il ne prend en charge que Linux et Mono et qu'il est en version bêta ("peut être supprimé ou modifié à tout moment").


MyGet est un serveur de paquets hébergé, mais il prend désormais également en charge les services de construction (actuellement en avant-première). autres caractéristiques . Il est gratuit pour les flux publics (500 Mo maximum) et possède des fonctionnalités légèrement meilleures pour projets open-source approuvés (stockage plus grand et galerie). Le service de construction est optimisé pour les paquets : Flux NuGet, flux MyGet, intégration SymbolSource, etc.

10voto

Dean Forbes Points 1

Ce service est désormais fourni gratuitement par Microsoft pour les équipes de 5 personnes au maximum. Team Foundation Server .

Il prévoit :

  • Contrôle à la source : TFS, Git
  • Planification Agile : Agile, Scrum, CMMI
  • Constructions en continu
  • Collaboration
  • Intégration
  • Exécution des tests
  • Déploiement

Visual Studio Team Services ne nécessite pas de code d'hébergement sur celui-ci, le code peut être tiré de GitHub ou tout autre dépôt Git.

Si le projet est petit et n'a pas d'exigences complexes à construire, Piscine hébergée peut être utilisé pour effectuer des constructions CI. Il y a plusieurs limitations : logiciel disponible, une seule construction à la fois, limite de temps d'une heure, etc. Si cela ne suffit pas, vous pouvez ajouter vos propres agents de build en exécutant un script sur vos machines.

Le support GitHub n'est pas complet (les demandes de pull ne sont pas construites, par exemple), mais la plupart des fonctionnalités sont prises en charge. Shields.io ne supporte pas encore VSO, mais un bouclier personnalisé est disponible.

Le principal inconvénient des projets à code source ouvert est que les journaux de construction, les résultats des tests et d'autres données ne seront pas publics. Seuls cinq utilisateurs peuvent avoir accès au projet sur un compte gratuit. Il y a un suggestion sur UserVoice pour rendre les projets publics possibles.

4voto

ni5ni6 Points 144

Je sais que le fil de discussion est assez ancien, mais pour les personnes qui cherchent toujours la réponse, je recommande de jeter un coup d'œil à AppHarbor

Il est assez facile de configurer l'intégration avec Github et Bitbucket, et vous disposez de connexions de base aux bases de données gratuitement par le biais de " addon Options ".

Assez pratique pour les startups.

2voto

tgiphil Points 829

Jetez également un coup d'œil à CodeHaus :

http://codehaus.org/

Ils utilisent le logiciel Bamboo CI d'Atlassian.

Je n'ai pas d'opinion, car je ne l'ai jamais utilisé.

1voto

Pascal Thivent Points 295221

Je ne pense pas que vous trouverez facilement un vrai libre (j'entends par là pour les tout projet, n'importe quelle langue), car un tel service est très gourmand en CPU, RAM et disque, ce qui implique des règles, du matériel et des prix spécifiques.

Pour quelques offres, consultez le site Externalisation de l'intégration continue ou cette question ici sur SO. Je n'ai pas examiné toutes les solutions en détail et je ne sais donc pas si elles répondront à vos exigences (langue, outil et prix).

Ou essayez de rejoindre une forge fournissant l'intégration continue pour les projets open source comme Le Codehaus ( EDIT : pas une option pour les projets .NET AFAIK) ou CodeBetter . Cela nécessitera certainement quelques efforts pour que votre projet soit accepté (peu le sont réellement, à mon avis), mais cela pourrait être votre meilleure option.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X