2016-03-08 9 views
15

Ecco il mio codice gasdotto:Accesso SCM (Git) variabili su un lavoro di Jenkins Pipeline

node ('master') { 
    git url: "$GIT_REPO_URL", branch: "$GIT_BRANCH" 
    echo env.GIT_COMMIT 
    echo env.GIT_BRANCH 
    echo env.GIT_REVISION 
} 

risultati la costruzione si presenta come:

Started by user anonymous 
[Pipeline] Allocate node : Start 
Running on master in /var/lib/jenkins/jobs/test/workspace 
[Pipeline] node { 
[Pipeline] git 
> git rev-parse --is-inside-work-tree # timeout=10 
Fetching changes from the remote Git repository 
> git config remote.origin.url https://acme/scm/app.git # timeout=10 
Fetching upstream changes from https://acme/scm/app.git 
> git --version # timeout=10 
> git fetch --tags --progress https://acme/scm/app.git +refs/heads/*:refs/remotes/origin/* 
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10 
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10 
Checking out Revision fb455725db1b768ff63e627a087d2771099af7c4 (refs/remotes/origin/master) 
> git config core.sparsecheckout # timeout=10 
> git checkout -f fb455725db1b768ff63e627a087d2771099af7c4 # timeout=10 
> git branch -a -v --no-abbrev # timeout=10 
> git branch -D master # timeout=10 
> git checkout -b master fb455725db1b768ff63e627a087d2771099af7c4 
> git rev-list fb455725db1b768ff63e627a087d2771099af7c4 # timeout=10 
[Pipeline] echo 
null 
[Pipeline] echo 
null 
[Pipeline] echo 
null 
[Pipeline] } //node 
[Pipeline] Allocate node : End 
[Pipeline] End of Pipeline 
Finished: SUCCESS 

Le variabili env env.GIT_COMMIT, env.GIT_BRANCH sono non popolato. I valori sono disponibili in altre variabili?

risposta

13

Ecco un esempio di come è possibile ottenere GIT_COMMIT - https://github.com/jenkinsci/pipeline-examples/blob/master/pipeline-examples/gitcommit/gitcommit.groovy

È possibile estenderla per esporre GIT_BRANCH pure. Questo script proviene dagli esempi di flusso di lavoro git repo gestito da cloudbees. Forse puoi inviare una richiesta di pull se aggiungi funzionalità per recuperare la variabile GIT_BRANCH.

+13

Grazie per i vostri commenti. Lo sto già facendo, comunque lo considero un hack. ;) –