Jenkins (Jenkins):查找git commit的内部版本号

标签 jenkins jenkins-pipeline

每次对git repo的提交都会触发我的Jenkins管道的构建。

我想通过提交哈希来检索旧版本的buildNumber。我怎样才能做到这一点?

我知道此信息存在,因为我可以在UI中找到它。

关于为什么我要这个的一些背景:
当有人标记提交时,我想创建一个发布(通过标记docker镜像)。每个版本都会推送包含版本号的图像。因此,我想找出与该提交相对应的内部版本号,以便可以找到要发布的镜像。

最佳答案

安装Lucene插件
https://wiki.jenkins.io/display/JENKINS/Lucene-Search
并且您将能够通过默认的Jenkins搜索栏通过提交哈希进行搜索! (但请阅读插件文档,要搜索旧版本,您需要重建数据库)

如果要以编程方式进行操作,则可以使用jenkins api,例如http://jenkinsapi.readthedocs.io/en/latest/using_jenkinsapi.html#example-5-getting-version-information-from-a-completed-build

只是在示例中修改函数,不是要获得最新的成功构建,而是要获取所有构建并获取其git哈希值,然后过滤此集合。

关于 Jenkins (Jenkins):查找git commit的内部版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45800650/

相关文章:

bash - jenkins job 默认可以获取哪些文件?

jenkins - 如何在声明式管道中等待用户输入而不阻塞重量级执行器

docker - 无法使用 Artifactory 插件将 Docker 镜像推送到 Jenkins 管道中的 Artifactory

jenkins - 如何在 check out Jenkinsfile 中的存储库之前清理管道

windows - 将更改推送到Github时如何自动触发Jenkins作业/构建

shell - 如何在 Jenkinsfile 中执行 Shell 脚本?

python - 获取与指定用户名相关的 Jenkins 构建信息

带有文件夹插件的 Jenkins 管道。如何构建位于不同文件夹的作业

Jenkins ssh-agent 启动然后在管道构建中立即停止

json - 无法将 `json` 字符串传递到 Jenkins 管道中的 `sh` 步骤