【问题标题】:Jenkins plugin gitChangelog: how to specyfy repository pathJenkins插件gitChangelog:如何指定存储库路径
【发布时间】:2019-12-11 16:02:27
【问题描述】:

背景

我继承了一些混乱的 Jenkins 管道。 问题之一是自定义插件,它获取代码并创建更改日志,始终显示与先前构建的差异(即使先前的构建失败)。 因此,如果构建失败,并非所有 JIRA 都会被标记为已解决。

问题

我需要创建更改日志,该日志能够与指示上次成功构建的标签不同。获取标签名称并指出 from to 不是问题。 问题是这个自定义插件将存储库克隆到自定义路径,我在gitChangelog 插件中看不到任何参数,可以让我指出实际存储库的位置。

因此,我的管道的这一部分:

    def changelogString = gitChangelog returnType: 'STRING',
        repository: repoPath,
        from: [type: 'REF', value: "$lastTagName"],
        to: [type: 'REF', value: 'HEAD'],
        template: changesReportTemplate

以异常结束:

se.bjurr.gitchangelog.api.exceptions.GitChangelogRepositoryException: Did not find a GIT repo in C:\Jenkins\workspace\MyBuildPipelineName

我无法找到将我的存储库位置提供给gitChangelog 插件的方法。

暂时无法将存储库克隆到此默认位置(“到长路径”存在问题)。

【问题讨论】:

    标签: jenkins jenkins-pipeline jenkins-plugins jenkins-groovy


    【解决方案1】:

    在与您类似的情况下,我们使用一个构建和测试所有内容的作业,以及另一个添加 git 标签并关闭 JIRA 问题的作业。当满足所有先决条件时,构建作业会触发另一个作业。 tag-and-jira 作业运行后,它会发现自上次运行 tag-and-jira 作业 以来的更改,因此它对上次成功运行的所有提交进行操作。这不会因构建失败或构建作业中的其他问题而遗漏任何 JIRA 问题。

    【讨论】:

    • 我应该自己想出这个解决方案,因为我已经以这种方式解决了其他问题。这肯定会完成这项工作。无论如何,我仍然希望使用gitChangelog
    猜你喜欢
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 2018-01-19
    • 2012-04-30
    • 2014-03-26
    • 2020-05-15
    • 1970-01-01
    相关资源
    最近更新 更多