2016-06-28 18 views
0

Derzeit in Jenkins Job Builder kann ich so Downstream-Jobs durch die Verlage Option angeben:Jenkins Job Builder - Automatische Pipeline Job

- job-template: 
    name: foo-one 
    project-type: freestyle 
    disabled: false 
    ... 
    publishers: 
     - pipeline: 
      project: foo-two 

Wenn der foo-one Job erstellt wird, die Downstream-Verbindung existiert innerhalb von Jenkins, aber der Build anderer Projekte Eintrag ist 'Build andere Projekte (Manueller Schritt)'. Wie kann ich über Jenkins Job Builder angeben, dass die Downstream-Verbindung zum Job foo-two automatisiert werden muss?

Antwort

1

Konnte nicht herausfinden, wie Sie das Problem mithilfe des Jenkins Job Builder-Publishers/Pipeline-Tags beheben können. So endete:

  1. die Konfiguration foo-one Job innerhalb Jenkins, kick off foo-zwei wenn foo-one erfolgreich abgeschlossen
  2. Rufen Sie die foo-one Job config. XML-Datei durch: curl -O http://localhost:8080/job/foo-one/config.xml
  3. Extrahiert das relevante XML aus der Datei config.xml, die die Downstream-Kickoff-Logik gesteuert.
  4. Mit dem Jenkins Job Builder xml und Herausgeber tags:

    - job-template: 
        name: foo-one 
        project-type: freestyle 
        disabled: false 
        ... 
        publishers: 
         - raw: 
          xml: | 
          <hudson.tasks.BuildTrigger> 
           <childProjects>foo-two</childProjects> 
           <threshold> 
           <name>SUCCESS</name> 
           <ordinal>0</ordinal> 
           <completeBuild>true</completeBuild> 
           </threshold> 
          </hudson.tasks.BuildTrigger> 
    
Verwandte Themen