70 votes

L'intégration continue est-elle importante pour un développeur solo?

Je n'avais jamais utilisé d'outils CI auparavant, mais d'après ce que j'ai lu, je ne suis pas sûr que cela apporterait un avantage quelconque à un développeur solo qui n'écrit pas de code tous les jours.

Premièrement, quels avantages CI procure-t-il à un projet?

Deuxièmement, qui devrait utiliser le CI? Est-ce que cela profite à tous les développeurs?

75voto

Matt Points 15107

Le concept de base de l'IC, c'est que vous avez un système qui génère le code et exécute des tests automatisés à chaque fois que quelqu'un fait un commit pour le système de contrôle de version. Ces tests comprennent unitaires et tests fonctionnels, ou même comportement piloté par les tests.

L'avantage est que vous savez - tout de suite - quand quelqu'un a brisé le construire. Cela signifie que A) Ils ont commis code qui empêche la compilation, ce qui serait gâcher tout un qui a fait une "mise à jour", ou B) qu'Ils ont commis code qui a cassé quelques tests, ce qui signifie qu'ils ont introduit un bug qui doit être corrigé, ou les tests doivent être mis à jour pour refléter les changements dans le code.

Si vous êtes un solo développeur, CI n'est pas très utile si vous êtes dans une bonne habitude de l'exécution de vos tests avant de s'engager, qui est ce que vous devriez faire. Cela étant dit, vous pourriez développer une mauvaise habitude de laisser la CI de faire vos tests pour vous.

En solo, programmeur, surtout vers le bas de la discipline. Utilisation CI est une compétence utile d'avoir, mais vous voulez éviter de développer de mauvaises habitudes qui ne se traduit pas un environnement d'équipe.

19voto

Imagist Points 5348

Comme d'autres personnes ont noté CI n' ont de nombreux avantages pour un seul développeur. Mais la question que vous devez vous poser est; vaut-il le dessus? Si vous êtes comme moi, il prendra probablement une heure ou deux pour configurer un système CI pour un projet, juste parce que je vais consacrer un serveur, mettre en place le réseau, et d'installer le logiciel. Rappelez-vous que le système CI ne seront qui vous permet de gagner quelques secondes à la fois. Pour un solo développeur, ces temps ne sont pas susceptibles d'ajouter jusqu'à plus que le temps qu'il a fallu pour faire le CI de l'installation.

Toutefois, si vous n'avez jamais configuré un système CI avant, je vous recommande de le faire juste pour le plaisir d'apprendre comment le faire. Il ne prend pas si longtemps que cela ne vaut pas l'expérience d'apprentissage.

10voto

Benoit Points 12985

L'avantage de CI réside dans la capacité à découvrir dès le début, quand un chèque en a brisé le construire. Vous pouvez également exécuter la suite de tests automatisés à l'encontre de la construction, ainsi que d'exécuter n'importe quel type d'outils pour vous donner des mesures et de ces.

Évidemment, c'est très utile lorsque vous avez une équipe de commiters, et tous ne sont pas diligents pour vérifier les dernières modifications. En solo développeur, il n'est pas tout à fait aussi précieux. Sans doute, vous exécutez vos tests unitaires, et même peut-être des tests d'intégration. Cependant, j'ai vu un certain nombre de cas où le développeur oublie de l'enregistrement d'un fichier à partir d'un ensemble.

Le CI peut également être considéré comme votre "libération" de construire. L'environnement doit être stable, et ne sont pas affectés par ce développement gizmo vous venez d'ajouter à votre machine. Il devrait vous permettre de toujours reproduire une génération. Ceci peut être utile si vous ajoutez une nouvelle dépendance à votre projet, et d'oublier de l'installation de la version de publication de l'environnement à prendre en compte.

6voto

Mnementh Points 19831

La vérité, c'est que l'intégration continue a plus de sens dans les équipes. Seul les développeurs peuvent également obtenir certains avantages, vous devez décider vous-même si ils sont assez pour contrer le temps que vous investissez dans la configuration CI-système.

  • Si vous avez oublié de checkin certains besoin de fichier, le dépôt contient une version cassé, même si elle fonctionne sur votre machine. CI permettrait de détecter ce cas.
  • Si votre CI-server s'exécute sur un autre ordinateur, il peut indiquer les dépendances sur votre build-environnement. Les moyens, de le construire et de tous les tests peuvent travailler sur votre dev-box, mais sur une autre machine de certaines dépendances ne sont pas remplies et construire des pauses.
  • Les builds quotidiens peuvent indiquer que votre ancien logiciel ne fonctionne pas avec la dernière mise à jour de l'OS/compilateur/bibliothèque...
  • Si votre CI-système a une archive de l'accumulation des artefacts, vous pouvez facilement obtenir une distribution d'une ancienne version de votre logiciel.
  • Quelques-CI ont une interface agréable pour vous montrer paramètres sur votre construire, ont des liens automatique des documents générés et des trucs comme ça.

6voto

Len Holgate Points 12579

Si vous avez besoin d'un support pour plusieurs compilateurs puis c'est pratique d'en avoir un de CI, de construire un système pour faire tout cela alors que vous venez de développer dans un IDE. Mon code construit avec Vc6 par le biais de VS2008 dans les versions x86 et x64 sur VS2005 et 8, de sorte que la 7 est construit par projet par la configuration d'un projet... d'Avoir un système CI signifie que je peux développer dans un IDE et de laisser le système CI de prouver que tous les compilateurs que je supporte encore construire des.

De même, si vous êtes à la construction de libs qui sont utilisés par de multiples projets, alors CI se assurer qu'ils travaillent avec TOUS les projets plutôt que de simplement l'un que vous travaillez avec droit maintenant...

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