脚本化管道-Groovy语法可捕获提交哈希或标签

时间:2019-02-22 12:18:24

标签: git jenkins groovy jenkins-pipeline jenkins-groovy

对于Dev / QA / Prod管道,我们想通知用户管道正在选择哪个提交哈希。

主要是,这有助于在生产环境中部署Prod管道之前。

以下是用于从特定分支中选择最新提交的常规语法。

git branch: branchName, credentialsId: credential, url: "${gitLabServer}/${projectName}/${repo}.git"

1) 如何从结帐中获取提交哈希/标签?

2) 如果特定的分支不可用,如何处理错误?

1 个答案:

答案 0 :(得分:1)

您可以使用来自age_group|gender|cause_of_death|rank| +-------------+---+---------------+----+ | 12| M| 7| 1| | 12| M| 7| 1| | 12| F| 7| 1| | 12| M| 7| 1| | 12| F| 7| 1| | 12| M| 7| 1| | 12| M| 7| 1| | 12| M| 7| 1| 的返回TreeMap获取信息:

git

字段:

try {
    d = git(branch: branchName, credentialsId: credential, url: "${gitLabServer}/${projectName}/${repo}.git")
    echo d["GIT_COMMIT"]
} catch (Exception e) {
    echo "${e}"
}

更新:

GIT_AUTHOR_EMAIL 
GIT_AUTHOR_NAME 
GIT_BRANCH 
GIT_COMMIT
GIT_COMMITTER_EMAIL 
GIT_COMMITTER_NAME 
GIT_LOCAL_BRANCH 
GIT_PREVIOUS_COMMIT
GIT_PREVIOUS_SUCCESSFUL_COMMIT
GIT_URL

def treeMapData
pipeline {
    agent any
    stages {
        stage ('Get Commit') {
            steps{
                script{
                    try {
                        treeMapData = git(branch: branchName, credentialsId: credential, url: "${gitLabServer}/${projectName}/${repo}.git")
                        echo treeMapData["GIT_COMMIT"]
                    } catch (Exception e) {
                        echo "${e}"
                    }
                }
            }
        }
    }
}