2017-02-26 1 views
0

Ich benutze Jenkins für die Ausführung von Aufträgen automatisch. Ich benutze auch Bitbucket Server als Versionskontrollsystem.Jenkins Job DSL: extrahieren Zweig mit letzten commit in groovy Skript

ich meine Jenkins Job DSL auf Änderungen in meinem Bitbucket Repo-up (auf jedem Commit) für die Schaffung von Arbeitsplätzen einige groovy Skript:

job(jobName) { 
    steps { 
    // Doing some staff. Need name of branch where last commit was done 
    } 
    scm { 
     git('ssh://[email protected]<my_git_host>/<my_project>/<my_repo>.git', '**') 
    } 
    triggers { 
    bitbucketPush() 
    scm '' 
    } 

Also, wenn ich ein paar Commits in my_repo mache dieses Job läuft und ich möchte den Namen des Zweiges extrahieren, wo das Commit durchgeführt wurde. Ist es möglich, es irgendwie zu tun?

P.S. Auf der Jenkins-Seite (UI) kann ich den Namen der Verzweigung für die aktuelle Ausführung sehen, aber ich habe keine Ahnung, wie man sie auf der groovigen Seite extrahiert.

+0

Suchen Sie den Plan auf dem Zweig zu laufen, wo das geschieht begehen? Oder nur ein bestimmter Zweig jedes Mal, wenn ein Commit darauf stattfindet? – KeepCalmAndCarryOn

+0

@KeepCalmAndCarryOn, ich bin interessant in jedem Zweig von meinem Repository, wo commit passiert – smart

Antwort

1

Grundsätzlich werden die Zweiginformationen in den Umgebungsvariablen mit der ID "GIT_BRANCH" für jeden Build gespeichert. Es gibt also viele Möglichkeiten, sie zu extrahieren.

Sie das folgende Skript einfach hinzufügen können

job(jobName) { 
    steps { 
     shell(''' 
       echo $GIT_BRANCH 
      '''.stripIndent().trim()) 
      } 
    scm { 
     git('ssh://[email protected]<my_git_host>/<my_project>/<my_repo>.git', '**') 
    } 
    triggers { 
    bitbucketPush() 
    scm '' 
    } 
+0

Danke! Sind diese Variablen irgendwo dokumentiert? – smart

+0

Klicken Sie einfach auf die Build-Nummer, um die Build-Infoseite zu öffnen. Auf dieser Seite links können Sie die Registerkarte "Umgebungsvariablen" sehen –

Verwandte Themen