Jenkins 在构建中提取了哪些提交?
What commits are pulled by Jenkins in the build?
Jenkins 有关于特定构建中包含的提交的信息。我知道这是因为 Jenkins 显示了这个(见下面的截图)。
如何在 CI 执行期间提取有关构建中包含的提交的信息?
需要此信息来检查哪些文件夹修改了文件,并因此确定 Jenkins 应执行的操作。
谢谢!
P.S。为了在 PR 的 CI 个工作中实现这一点,我使用 git 命令:
git rev-parse github/master
它是 returns 在当前分支分支之前在 master 中进行的最后一次提交(为了使其工作,我添加了 'github' 远程)。显然,它不能在 'master' 分支本身中工作。所以我在想,也许 Jenkins 有一些我可以使用的内置信息?或者一些 Jenkins 插件可以提供帮助?
显然,有一堆链接,但我找不到任何链接,直到我找到 google 的关键字。
第一个,有一个 DevOps 版本的 Whosebug:
https://devops.stackexchange.com/
它可能有更多人活跃可以帮助解决 Jenkins 相关问题
2nd,思路是利用jenkins变量currentBuild进一步迭代:
- currentBuild.previousBuild
- build.changeSets
- 构建中的项目
- 提交哈希在 item.commitId
帮助我找出解决方案的链接:
- https://devops.stackexchange.com/questions/2310/get-all-change-logs-of-since-last-successful-build-in-jenkins-pipeline?newreg=52d68c7ced584340988071cc72440ca1
- https://blog.csdn.net/liurizhou/article/details/88236397
- NotSerializableException thrown when accessing currentBuild.changeSets in Jenkins pipeline
- https://gitter.im/jenkinsci/jenkins - public 与 jenkins 社区聊天,不是很活跃,但仍然很有帮助。
重要说明:
- 由于 Groovy 在 Jenkins 中的工作方式,您需要将此逻辑放入单独的函数中并向其添加“@NonCPS”属性
- 里面的所有变量都需要加上'def'前缀(尽管我的prettier告诉我这不是必需的),没有这个你会出现“java.io.NotSerializableException: hudson.plugins.git.GitChangeSetList”的错误.
希望这对其他人也有帮助!
Jenkins 有关于特定构建中包含的提交的信息。我知道这是因为 Jenkins 显示了这个(见下面的截图)。
如何在 CI 执行期间提取有关构建中包含的提交的信息?
需要此信息来检查哪些文件夹修改了文件,并因此确定 Jenkins 应执行的操作。
谢谢!
P.S。为了在 PR 的 CI 个工作中实现这一点,我使用 git 命令:
git rev-parse github/master
它是 returns 在当前分支分支之前在 master 中进行的最后一次提交(为了使其工作,我添加了 'github' 远程)。显然,它不能在 'master' 分支本身中工作。所以我在想,也许 Jenkins 有一些我可以使用的内置信息?或者一些 Jenkins 插件可以提供帮助?
显然,有一堆链接,但我找不到任何链接,直到我找到 google 的关键字。
第一个,有一个 DevOps 版本的 Whosebug: https://devops.stackexchange.com/ 它可能有更多人活跃可以帮助解决 Jenkins 相关问题
2nd,思路是利用jenkins变量currentBuild进一步迭代:
- currentBuild.previousBuild
- build.changeSets
- 构建中的项目
- 提交哈希在 item.commitId
帮助我找出解决方案的链接:
- https://devops.stackexchange.com/questions/2310/get-all-change-logs-of-since-last-successful-build-in-jenkins-pipeline?newreg=52d68c7ced584340988071cc72440ca1
- https://blog.csdn.net/liurizhou/article/details/88236397
- NotSerializableException thrown when accessing currentBuild.changeSets in Jenkins pipeline
- https://gitter.im/jenkinsci/jenkins - public 与 jenkins 社区聊天,不是很活跃,但仍然很有帮助。
重要说明:
- 由于 Groovy 在 Jenkins 中的工作方式,您需要将此逻辑放入单独的函数中并向其添加“@NonCPS”属性
- 里面的所有变量都需要加上'def'前缀(尽管我的prettier告诉我这不是必需的),没有这个你会出现“java.io.NotSerializableException: hudson.plugins.git.GitChangeSetList”的错误.
希望这对其他人也有帮助!