如何将 Jenkins 共享库文件推送到 Git 存储库?

问题描述 投票:0回答:1

我有一个后续问题jenkins 共享库文件存储在哪里? 我有一个管道,我可以在其中执行以下操作。

@Library("my-library") _
import com.company.builders.BuildDirector

node("linux-nodes") {
    def obj = new BuildDirector(this, env.CONFIRM.toBoolean(), env.DEBUG_LEVEL.toInteger())
    obj.buildBranch('master')
}

该脚本执行 Gradle 构建并将适当的工件推送到我们的 Maven 和 Docker 存储库。

但它还更新了我们管道的

resources
目录中的 2 个文件,如下所示(我在下面的代码中只显示了一个文件)。

    writeFile file: "DependencyCheckerFullReport.txt",
              text: libraryResource("path/to/DependencyCheckerFullReport.txt")

如何将

path/to/DependencyCheckerFullReport.txt
中的更改提交并推送到我的管道的 Git 存储库?

groovy jenkins-pipeline
1个回答
0
投票

Git 通过高级 git 步骤 或较低级别 scm 步骤 与 Jenkins Pipeline 集成,两者都只允许读取操作。要执行写入操作,例如提交到本地存储库或推送到远程存储库,必须使用自定义步骤。这里基本上有两个选择:

基本

sh
步骤方法来执行
git
CLI,并通过例如身份验证
withCredentials
块(高级接口)。

withCredentials(...) {
  sh(script: 'git commit', label: 'Commit to Local Git Repo')
}

利用 Java/Groovy SDK 绑定的共享库(低级接口)。您显然已经知道如何开发共享库,因此您可以从包存储库导入 Git SDK 绑定,然后开发用于身份验证和 Git 写入操作的代码。我不能真正推荐任何软件包,因为我没有使用它们的经验,也不想显得是广告,但快速搜索发现它们存在。

© www.soinside.com 2019 - 2024. All rights reserved.