要从branchName
获取最新提交,我们运行以下代码:
treeMapData = git(branch: branchName, credentialsId: credential, url: "${gitLabServer}/${projectName}/${repo}.git")
根据我们的工作流程,确保每次提交都包含一个标签
仅当提交被标记时,我们才希望构建代码。
如何检索最新提交的标记名?
答案 0 :(得分:3)
如果詹金斯还没有,我们可以从仓库中获取标签。
git fetch --tags
我们需要找到一个标签,该标签指向特定的提交或本例中的HEAD
。幸运的是,在git中有一个方便的命令可以使我们做到这一点。
git tag --points-at HEAD
使用awk
,我们可以将其转换为常规的伪造输出。
awk NF
因此,我们首先检查所推送的分支是否为master
if (env.BRANCH_NAME == 'master') {
将其锁定
lock('publish master') {
执行git tag shell脚本并将其分配给TAG
TAG = sh (
returnStdout: true,
script: 'git fetch --tags && git tag --points-at HEAD | awk NF'
).trim()
如果存在标签,请执行一些操作!
if (TAG) {
stage('Deploy Prod') {
echo "Deploying to Prod ${TAG}"
}
}
希望这能回答您的问题,或者至少可以使您走上正确的轨道。