gpt4 book ai didi

jenkins - 在Jenkins管道插件上的拉取请求中未检测到更改

转载 作者:行者123 更新时间:2023-12-04 08:50:41 25 4
gpt4 key购买 nike

我已经将Jenkins配置为基于请求请求(PR)。我们的存储库是一个多项目存储库,我创建了一个脚本来检测对源代码所做的更改,并仅运行与其中发生更改的项目相关的测试(根据更改后的文件路径):

def getChangedProjects() {
Set projects = []
def changeLogSets = currentBuild.changeSets
for (int i = 0; i < changeLogSets.size(); i++) {
def entries = changeLogSets[i].items
for (int j = 0; j < entries.length; j++) {
def entry = entries[j]
def files = new ArrayList(entry.affectedFiles)
for (int k = 0; k < files.size(); k++) {
def file = files[k]
// get the project folder name and
// add it to changed projects set
projects.add(file.path.tokenize('/')[1])
}
}
}
return projects.findAll {it != null}
}

Groovy函数按预期工作,并检测到已更改的文件夹。

问题在于, Jenkins 在大多数情况下不会显示 Jenkins 的任何变化:

Changes are not shown

但是PR确实包含对文件的更改,我当然可以在Github中看到这些更改。

有人知道Jenkins为什么不显示更改吗?

最佳答案

您可以通过在Jenkins管道脚本中包含Git Changelog步骤来创建更改日志。

plugin提供了一个context object,其中包含创建变更日志所需的所有信息。它还可以提供string,它是已渲染的变更日志,可以随时发布。

Here是此插件生成的示例Git更新日志的屏幕截图:

Git Changelog

有关此插件的更多信息,请参见其wiki
希望能帮助到你。

关于jenkins - 在Jenkins管道插件上的拉取请求中未检测到更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53537379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com