web-dev-qa-db-fra.com

Configurer Jenkins pour fonctionner avec les branches SVN

J'installe actuellement Jenkins pour travailler avec le dépôt SVN. Actuellement, cela fonctionne bien pour le coffre. Maintenant, je veux configurer Jenkins pour prendre en charge les branches nouvellement créées. Je ne veux pas créer manuellement un nouveau projet pour chaque nouvelle branche dans SVN.

  • Existe-t-il déjà une solution qui permet d'utiliser SVN et de créer automatiquement des tâches/tâches dans Jenkins pour chaque brach créé dans SVN?
  • Comment utilisez-vous Jenkins avec des tags/branches SVN?
17
mryvlin

Vérifiez également mon étendre la réponse si vous n'êtes pas très familier avec jenkins.

Il fournit une solution étape par étape avec des captures d'écran.

Le plugin Subversion est installé par défaut dans les versions récentes (comme pour septembre 2015).

Ensuite, vous devez configurer votre projet comme suit:

  1. cocher "Cette version est paramétrée"
  2. choisissez "Liste des balises de sous-version (et plus)"
  3. dans le champ nom, définissez un nom variable qui peut être référencé plus tard dans l'url svn. Je choisis svnbranch ici.
  4. dans le champ URL du référentiel, donnez-lui l'URL de votre projet (qui doit contenir le tronc, les branches et les balises)
  5. remplissez un autre domaine selon vos besoins
  6. dans la gestion du code source, référencez la variable définie précédemment dans l'url de votre référentiel.

vérifiez les captures d'écran suivantes:

enter image description here

enter image description here

14
dezhi

Le plugin Subversion devrait inclure une option de paramètre de construction déroulante. Vous pouvez inclure votre référentiel de base, puis sélectionner les branches, les balises ou le tronc.

Vérifiez ceci: Comment configurer un seul travail Jenkins pour effectuer le processus de publication à partir d'un tronc ou de branches?

Et plus d'informations ici: https://issues.jenkins-ci.org/browse/JENKINS-10678

5
Chewpers

Nous avons un travail pour chaque succursale et camion. Si nous avons 30 projets, nous avons 30 projets de tronc et 30 projets pour chaque branche que nous utilisons actuellement. Cela peut représenter plus de 150 emplois, mais nous utilisons des vues pour les séparer. Très simple pour utiliser une branche (ou même une balise) dans Subversion: utilisez simplement l'URL qui contient la branche.

Je copie mes travaux manuellement chaque fois que nous créons une nouvelle succursale. Je déteste généralement un processus manuel (processus manuel => faire une erreur => gâcher largement => se faire licencier => travailler dans Walmart), mais il n'y a vraiment que deux changements à faire dans mon travail. Je dois changer l'URL de Subversion et la description. Tout le reste est configuré pour utiliser les valeurs par défaut de Jenkin. Pas de répertoire de travail farfelu, pas de copie funky des artefacts de construction (nous les stockons dans Jenkins). Nous avons environ 30 emplois et je peux tous les reproduire en moins d'une demi-heure.

J'ai simplement eu des problèmes avec l'automatisation, et si je dois quand même passer par tous les travaux pour m'assurer que tout va bien, je ferais aussi bien de le faire manuellement.

Vous pouvez paramétrer vos builds. Autrement dit, demandez à l'utilisateur d'entrer le nom de la branche (ou sélectionnez-le dans une liste déroulante. Cela signifie créer un seul travail pour toutes vos branches. Cependant, cela vainc la construction continue aspect de Jenkins puisque vous devez déclencher manuellement chaque tâche.

Certains sites ont des scripts qui peuvent produire en masse une nouvelle branche. Il vous suffit de copier le config.xml (et quelques autres fichiers) sous un même travail et modifiez-le. Certains sites ont créé des travaux de modèle qui rendent cela un peu plus facile. Les travaux de modèle sont désactivés, et grâce à l'API REST, il est facile d'activer les travaux via wget. Ils dupliquent simplement leurs travaux de modèle, modifient quelques paramètres, puis réactivent tous ces emplois.

Il y a Plugin JobCopy builder qui vous permet de définir des projets de construction de modèles, puis de remplacer les chaînes dans le modèle pour créer des travaux réels.

Il y a aussi un script Ant sur le Jenkins Wiki qui duplique les jobs pour vous.

2
David W.