Mic*_*ael 7 jenkins jenkins-plugins jenkins-pipeline
我将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中显示任何变化:
但PR确实包含了对文件的更改,我当然可以在Github中看到这些更改.
任何人都知道Jenkins为什么没有显示这些变化?
您可以通过在 Jenkins 管道脚本中包含Git Changelog步骤来创建更改日志。
该插件提供了一个上下文对象,其中包含创建更改日志所需的所有信息。它还可以提供一个字符串,该字符串是渲染的变更日志,可供发布。
以下是该插件生成的 Git 变更日志示例的屏幕截图:
有关此插件的更多信息可以在其wiki
中找到。
希望能帮助到你。
| 归档时间: | 
 | 
| 查看次数: | 1019 次 | 
| 最近记录: |