[GIT]獲取git最新的tag
阿新 • • 發佈:2020-11-17
背景
公司前端專案在Jenkins中打包,每次打包需要將新tag回推到倉庫中。但是打包失敗後如果不刪除tag的話下次打包就會失敗,需要手動刪除,所以在Jenkinsfile中就需要在打包失敗時自動刪除tag
解決方法
用於查詢最近的tag
git describe
把--abbrev設為0, 該命令查詢最近的tag名,不需要字尾:
git describe --abbrev=0
獲取當前分支的tag
git describe --abbrev=0 --tags
獲取所有分支的tag
git describe --tags `git rev-list --tags --max-count=1`
Jenkinsfile中的配置
cat Jenkinsfile pipeline{ .... post { unsuccessful { script { def tags="""${sh( returnStdout: true, script: "git describe --abbrev=0 --tags" )}""".replace(' ','\n') sh """ git checkout config/history-version.json git tag -d ${tags} """ } } } }