web-dev-qa-db-fra.com

Jenkins: plusieurs référentiels Git pour un projet

Je souhaite construire un projet en utilisant deux référentiels Git. L'un d'eux contient du code source, l'autre des scripts de construction et de déploiement.

Mon problème est que je dois disposer d’un référentiel pour la construction et le déploiement de différentes parties du projet (grand projet, référentiels multiples, mêmes scripts de compilation et de déploiement), mais Jenkins ne semble pas en mesure de le gérer (ou je ne le fais pas). t savoir/ne pas trouvé comment).

35
Mihai

METTRE À JOUR

Plusieurs plug-ins SCM sont maintenant obsolètes. Les utilisateurs doivent donc migrer vers Pipeline plugin .

Ancienne réponse

Oui, Jenkins peut gérer ça. Utilisez simplement Multiple SCMs sous Gestion du code source, ajoutez vos référentiels, puis accédez à la section Avancé de chaque référentiel. Ici, vous devez définir Local subdirectory for repo (optional) et Unique SCM name (optional)

Votre référentiel sera tiré dans le sous-répertoire Local que vous avez défini afin que vous puissiez les construire dans l'ordre de votre choix.

Mise à jour par réponse harishs - vous devez installer Plug-in SCMs multiple afin d'obtenir cette fonctionnalité. 

31
Petr Mensik

La réponse de Petr Mensik est exacte, mais cela ne semble pas être disponible par défaut dans Jenkins. Il faut installer Multiple SCM plugin pour obtenir cette fonctionnalité: https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin

18
harish

J'avais la même question. Lorsque j'ai consulté la réponse du plug-in Multiple SCM, j'ai remarqué que ce plug-in est désormais répertorié comme obsolète. Un avis recommande d'utiliser un pipeline pour cela.

Vous trouverez ci-dessous un exemple de configuration montrant comment j'ai réussi à faire cela avec un pipeline. 

node() {
  stage ('Extract') {
    parallel 'Extract':{
      dir('project1') {
        git url: 'ssh://git@githost/project1.git'
      }
      dir('project2') {
        git url: 'ssh://git@githost/project2.git'
      }
    }   
  }
}
9
carl verbiest

Tout en partageant mon expérience avec plusieurs SCM. Si vous souhaitez ajouter plusieurs référentiels git dans votre version de jenkins, assurez-vous que les autres versions du plug-in git sont compatibles avec le plug-in Multiple SCM. Voici une liste de plugins avec la version qui a fonctionné pour moi:

  • Plugin API GitHub 1.44
  • Jenkins GIT client plugin 1.6.2
  • Jenkins GIT plugin 2.0.1
  • Git Server Plugin 1.2
  • GDS multiples 0.2

Auparavant, je passais à Multiple SCM 0.3 et je ne pouvais pas ajouter de dépôt Git dans cette section.

Rgds, Manu

2
Manu Garg

Lorsque vous ajoutez un autre SCM via le plugin Multiple SCM et choisissez Git. Vous pouvez spécifier d'activer ou de "Extraire vers un sous-répertoire" via les options "Comportements supplémentaires" d'un référentiel . Ainsi, vous pouvez avoir plusieurs référentiels dans un espace de travail.

0
enkor