![](/img/trans.png)
[英]How to parameterize Git URL in Jenkins Multibranch Pipeline?
[英]Jenkins multibranch pipeline: how to get most recent git tag?
我的項目構建依賴於 git 標簽來確定用於工件的版本。 我正在嘗試創建一個 Jenkins 多分支管道。 這意味着,我需要以某種方式獲得相當於 output 的
git describe --tags
進入我的 Jenkins 管道。 無論我對各種“高級行為”做什么,我都會得到一個分離的 HEAD 和 git 說它沒有什么可描述的。
本文檔https://jenkins.io/doc/pipeline/steps/workflow-scm-step/提到$class: GitTagMessageExtension
帶有可選的 boolean 參數useMostRecentTag
,根據描述應該提供我需要的確切信息,但我找不到在管道片段生成器中等效於它,並且在 Jenkisfile 中,我包括
checkout(
[$class: 'GitSCM',
branches: [[name: '**']],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
[$class: 'GitTagMessageExtension', useMostRecentTag:true]
],
submoduleCfg: [],
userRemoteConfigs: [[credentialsId: 'xxx', url: 'xxx']]
]
)
我收到一個錯誤
java.lang.UnsupportedOperationException: no known implementation of class hudson.plugins.git.extensions.GitSCMExtension is named GitTagMessageExtension
編輯:
正如@ioannis-barakos 所指出的,缺少 GitTagMessageExtension 插件。 但是,安裝后,promise 的
如果您勾選了使用最近的標簽選項,並且檢出的修訂版沒有與之關聯的 git 標記,則將在父提交中搜索 git 標記,並且上述規則將適用於第一個帶有 ZBA9F11ECC33497D9EFDC2B 標記的父提交.
不成立。 它只是針對分離的頭運行git describe --tags <commit-hash>
並且什么都不導出。
那么,有人知道如何處理嗎? 我錯過了什么?
這都是虛驚一場:我只是忘了git push --tags
但是,有一個違反直覺的問題:勾選“發現標簽”是不夠的,還必須選擇“高級克隆行為”並勾選“獲取標簽”
您可能沒有在 Jenkins 中安裝Git Tag Message Plugin
。
GitTagMessageExtension
由該插件提供(如此處)
確保在 Jenkins 插件中安裝了以下插件。
下面是一個在所有分支 (origin/**) 中搜索標簽的工作示例。 請記住,應該已經在 jenkins 中配置了憑據 ID,其中包含 jenkins 帳戶的用戶名/密碼,並且應該為下載/克隆位置設置RelativeTargetDirectory
class。
script {
checkout([
$class: 'GitSCM',
branches: [[name: "origin/**"]],
doGenerateSubmoduleConfigurations: false,
extensions: [[
$class: 'RelativeTargetDirectory',
relativeTargetDir: "/tmp/jenkins/git"],
[$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
[$class: 'GitTagMessageExtension', useMostRecentTag:true]
],
submoduleCfg: [],
userRemoteConfigs: [[
credentialsId: 'ioannis.barakos',
url: 'https://git.example.com/git/example'
]]
])
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.