我有一个后续问题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 存储库?
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 写入操作的代码。我不能真正推荐任何软件包,因为我没有使用它们的经验,也不想显得是广告,但快速搜索发现它们存在。