wake-up-neo.com

So entdecken Sie Jenkinsfile in Unterordnern

Ich habe ein Projekt mit zwei Ordnern, die unabhängig voneinander sind und separate Builds in Jenkins benötigen (mit Version 2.74).

Meine Struktur ist

folder
├── project1
│   └── Jenkinsfile
└── project2
    └── Jenkinsfile

Wenn ich in Jenkins auf "Scan-Organisation" klicke, werden die Jenkins-Dateien in den Unterverzeichnissen nicht erkannt.

Hier ist ein Beispiel aus dem "Scan-Organisationsprotokoll":

Proposing kg-pipeline
Examining my-test-project

  Checking branches...

  Getting remote branches...

    Checking branch jenkins
      ‘Jenkinsfile’ not found
    Does not meet criteria

    Checking branch master
      ‘Jenkinsfile’ not found
    Does not meet criteria

  2 branches were processed

Finished examining my-test-project

Ich habe die Konfiguration des Jobs, der die Organisation durchsucht und Filialen mit Jenkinsfiles findet, nicht berührt. Hier ist die aktuelle Einstellung für das Projekt

 Jenkinsfile discoverability configuration

Meine Frage lautet: Wie konfiguriere ich Jenkins so, dass jeder Ordner einzeln angezeigt wird? Ich interessiere mich auch für Links zu auf diese Weise erstellten Beispielprojekten.

6

Es gibt eine einfache Lösung.

  1. gehen Sie zu JENKINS_URL/job/JOB_NAME/configure
  2. wählen Sie unter Build Configurationby Jenkinsfile für Mode aus.
  3. setzen Sie es unter Script Path auf DIR_NAME/Jenkinsfile

Wenn sich Ihre Jenkins-Datei beispielsweise in einem Verzeichnis src befindet, setzen Sie es auf src/Jenkinsfile, und Jenkins kann die Jenkins-Datei jetzt finden

6
Ray Kim

Derzeit wird versucht, dasselbe einzurichten - dies könnte hilfreich sein, auch wenn es keine vollständige Antwort ist:

Laut this sollten Sie zwei Multibranch Pipeline Projects mit dem Konfigurationsmodus "by Jenkinsfile" einrichten können.

Unterstützung für die Verwendung benutzerdefinierter Pfade für die Jenins-Datei wurde in JENKINS-34561 hinzugefügt.

1
Martin

Sie können unter Projekterkenner mit Ihren Pfaden zu Jenkins-Dateien mehr als eine "Pipeline-Jenkins-Datei" hinzufügen.

0
Gunjan

Leider kenne ich keinen Ansatz, der Unterverzeichnisse Ihres Projektstamms nach Jenkinsfiles durchsucht.

Möglicherweise können Sie Ihr gewünschtes Verhalten erreichen, indem Sie die Jenkinsfiles aus Ihren Unterverzeichnissen in eine Jenkinsfile im Projektstamm mit dem Befehl load step laden. Dadurch werden die Builds beider Projekte als eine Pipeline angezeigt. Möglicherweise möchten Sie diese Projekte auf parallelen Knoten erstellen.

0
tim