Quels outils utilisez-vous pour les versions / déploiements automatisés? Pourquoi? [fermé]

StackOverflow https://stackoverflow.com/questions/99535

  •  01-07-2019
  •  | 
  •  

Question

Quels outils utilisez-vous pour les versions / déploiements automatisés? Pourquoi?

Quels outils recommandez-vous?

Était-ce utile?

La solution

Hudson pour les versions automatisées. Je l'ai choisi parce que c'était le plus facile à installer et à démo. Un système trop complexe et d'apparence mal conçue n'impressionnera pas suffisamment la direction pour les intégrer à des versions automatisées. Surtout dans un projet qui a beaucoup d'inertie.

Autres conseils

Pas pour les versions (mais MSBuild, Rake, presque tout irait bien) et CruiseControl.NET pour les déploiements. Je travaille actuellement avec la nouvelle croisière de ThoughtWorks studios, car elle fournit un meilleur moyen de mettre en scène les différents pipelines et de me permettre de déployer toute version que je souhaite dans un environnement cible.

Nous utilisons TeamCity , de JetBrains. Ils font aussi Resharper And IntelliJ.

Nous l’utilisons pour créer nos applications .Net et il a été assez facile de le configurer, de se connecter à TFS et d’exécuter des outils supplémentaires. Il est très poli et me rappelle un peu ce site. Je l'ai trouvé beaucoup plus agréable que CruiseControl et, pour la taille de notre équipe, il est gratuit. Si vous avez besoin de nombreuses versions différentes, de versions supplémentaires par utilisateur, etc., cela coûte un peu cher (mais reste tout à fait raisonnable).

Curieusement, je viens de passer deux semaines à réviser (lire à partir de zéro) notre processus de construction nocturne. Très amusant (non, vraiment). J'avais eu l'idée d'installer Team Foundation Server, mais nous utilisons Perforce pour le contrôle de la source et je ne pensais pas que cela en valait la peine.

Notre processus est maintenant un ensemble de scripts Powershell qui s'exécutent sur un serveur de génération / test dédié et effectuent les opérations suivantes sur une tâche planifiée:

Supprimez la totalité de l'arborescence des sources (vérifiez que rien n'a été extrait en premier!)

Réduisez l'intégralité de l'arborescence source de Perforce (à partir de la dernière version étiquetée)

Générer un rapport de modification (en effectuant une synchronisation avec HEAD et en surveillant les événements)

Construire l'application

Indexer les fichiers PDB sur les sources Perforce

Stockez les fichiers binaires et les symboles dans un serveur de symboles dédié

Exécuter les projets de test

Construisez le programme d'installation

Étiquette

Envoi d'e-mails au groupe avec des rapports d'état sur tous les éléments ci-dessus

Fonctionne bien.

make et bash sur linux

make et cmd sous Windows

Nous utilisons une combinaison d'outils de construction et de serveur d'intégration continue:

Construire des outils:

  1. Maven
  2. SBT
  3. Gradle
  4. Rake

Serveurs d'intégration continue:

  1. Jenkins
  2. Hudson
  3. Travis CI

Studio de construction automatisé .

Au lieu de vous laisser avec des scripts ou des fichiers XML, il est livré avec des opérations de macros graphiques prédéfinies qui vous permettent de créer facilement des tâches.

Pour notre contenu compilable sous Windows, nous utilisons FinalBuilder .

CruiseControl pour les versions automatisées. Fonctionne très bien.

Pour les versions automatisées, je pense que le meilleur outil en ce moment est Team City de JetBrain. La version gratuite offre toutes les fonctionnalités dont vous aurez besoin pour la plupart des équipes de 5 à 10 personnes. La configuration est facile, la configuration de nouveaux projets est simple (relativement) et, surtout, fiable.

Pour les migrations automatisées, rien ne vaut PowerShell.

UppercuT utilise NAnt pour construire et constitue un framework de construction incroyablement facile à utiliser.

Des constructions automatisées aussi simples que (1) nom de la solution, (2) chemin de contrôle de la source, (3) nom de la société pour la plupart des projets!

http://code.google.com/p/uppercut/

Quelques bonnes explications ici: Aperçu

Plus d'informations

UppercuT est une version automatisée traditionnelle, ce qui signifie que vous configurez un fichier de configuration, puis que vous obtenez un ensemble de fonctionnalités gratuitement. La fonctionnalité la plus puissante est sans doute la possibilité de spécifier les paramètres d’environnement à un endroit et de les appliquer partout, y compris la documentation lors de la création de la source.

Documentation disponible: https://github.com/chucknorris/uppercut/wiki

Caractéristiques:

Au travail, nous utilisons le bon vieux Ant pour construire nos servlets Java.

Nous avions l'habitude d'utiliser le logiciel Visual Build from Kinook, mais récemment, avec notre nouvelle application, nous sommes passés à MSBuild, car celui-ci s'intégrait mieux à TFS et permettait de créer des tâches personnalisées.

Les outils automatiques GNU définitivement. autoconf et automake est la norme de facto pour les systèmes Unix.

J'ai réussi à utiliser buildbot , déclenché par un script de post-validation sur un référentiel de subversion. Cela a été utilisé à la fois pour les versions automatisées et les tests automatisés.

ANT pour la construction et le déploiement / installations.

Fait un excellent installateur multi-plateformes.

Nous utilisons les versions de Hericus Zed et la gestion des bogues pour nos versions automatisées.

Nous avons 4 branches de code, chacune avec Java, c ++, C #, des compilations multi-plateformes et des installateurs pour 5 systèmes d'exploitation.

Faites pour les builds. Paquets Debian pour les déploiements (puisque nos serveurs de production l’exécutent).

TeamCity exécutant des scripts NAnt pour la construction / l’emballage et PowerShell pour le déploiement.

J'ai constaté que l'utilisation de NAnt, optimisé par TeamCity, au lieu des coureurs natifs de TeamCity nous permettait d'avoir un processus de construction beaucoup plus riche (par exemple, un minimiseur de flux RSS, etc.). Cela signifie également que le processus de génération / package complet peut être exécuté sur n'importe quel PC de développeur au lieu des serveurs TeamCity, ce qui facilite grandement la personnalisation et le débogage des problèmes dans le processus de construction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top