it-swarm.com.de

Jenkins: Mehrere Git-Repositories für ein Projekt

Ich möchte ein Projekt mit zwei Git-Repositories erstellen. Einer enthält den Quellcode, der andere die Build- und Implementierungsskripts.

Mein Problem ist, dass ich über ein Repository verfügen muss, um verschiedene Teile des Projekts zu erstellen und bereitzustellen (großes Projekt, mehrere Repositorys, dieselben Build- und Implementierungsskripts), aber Jenkins scheint das nicht zu bewältigen (oder ich kann es nicht tun. Ich wusste nicht, wie.

35
Mihai

UPDATE

Mehrere SCMs-Plugins sind jetzt veraltet, daher sollten Benutzer zu Pipeline-Plugin migrieren.

Alte Antwort

Ja, Jenkins kann damit umgehen. Verwenden Sie einfach Multiple SCMs unter Quellcodeverwaltung, fügen Sie Ihre Repositorys hinzu und gehen Sie dann zum Abschnitt "Erweitert" jedes Repositorys. Hier müssen Sie Local subdirectory for repo (optional) und Unique SCM name (optional) einstellen. 

Ihr Repository wird in das von Ihnen eingestellte lokale Unterverzeichnis abgerufen, sodass Sie es in beliebiger Reihenfolge erstellen können.

Aktualisieren der Antwort nach harishs - Sie müssen Multiple SCMs Plugin installieren, um diese Funktionalität zu erhalten. 

31
Petr Mensik

Die Antwort von Petr Mensik ist richtig, aber dies scheint in Jenkins standardmäßig nicht verfügbar zu sein. Sie müssen mehrere SCM-Plugins installieren, um diese Funktion zu erhalten: https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin

18
harish

Ich hatte die gleiche Frage, als ich mir die Multiple SCM-Plugin-Antwort ansah, fiel mir auf, dass dieses Plugin jetzt als veraltet aufgeführt wird. In einem Hinweis wird empfohlen, hierfür eine Pipeline zu verwenden.

Nachfolgend finden Sie eine Beispielkonfiguration, wie ich dies mit einer Pipeline geschafft habe. 

node() {
  stage ('Extract') {
    parallel 'Extract':{
      dir('project1') {
        git url: 'ssh://[email protected]/project1.git'
      }
      dir('project2') {
        git url: 'ssh://[email protected]/project2.git'
      }
    }   
  }
}
9
carl verbiest

Teilen Sie einfach meine Erfahrungen im Umgang mit Multiple SCM. Wenn Sie mehrere Git-Repositorys in Ihren Jenkins-Build einfügen möchten, stellen Sie sicher, dass die anderen Git-Plugin-Versionen mit Multiple SCM-Plugin kompatibel sind. Hier ist eine Liste von Plugins mit Version, die für mich funktionierte:

  • GitHub API Plugin 1.44
  • Jenkins GIT Client Plugin 1.6.2
  • Jenkins GIT Plugin 2.0.1
  • Git Server Plugin 1.2
  • Mehrere SCMs 0.2

Früher habe ich auf Multiple SCM 0.3 aktualisiert und konnte in diesem Abschnitt kein Git-Repo hinzufügen.

Rgds, Manu

2
Manu Garg

Wenn Sie über das Multiple SCM-Plugin einen weiteren SCM hinzufügen und Git wählen. Sie können festlegen, dass in ein Unterverzeichnis ausgecheckt werden soll, und zwar über die Optionen für zusätzliches Verhalten für ein Repo . Sie können also mehrere Repos in einem Arbeitsbereich haben.

0
enkor