git - 从声明式 Jenkins 管道中的私有(private) Git 存储库下载单个文件

标签 git jenkins jenkins-pipeline

我已经看过 this question ,但我想知道如何在声明性管道中安全地从私有(private) Git 存储库下载单个文件,最好使用凭据 ID 或类似的内容。

我想我必须使用类似的东西:

sh 'git archive ... || tar --extract'

最佳答案

为此,有一个 ssh 代理插件可以在管道脚本中使用:

sshagent(credentials: ['credentials-id']) {
  sh "git archive --remote=${git_repository_url} --format=tar ${branch_name} ${path_to_file} | tar xf -"
}

注意:path_to_file 可以是文件的路径,也可以只是文件名

关于git - 从声明式 Jenkins 管道中的私有(private) Git 存储库下载单个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50877056/

相关文章:

java - Jenkins 上的 PowerMock 内存泄漏

Jenkins GitHub Webhook 不触发构建

jenkins - 与 Jenkins 并行运行

jenkins - 如何使用声明式 Jenkinsfile 构建 docker 镜像

git - 如何保存 `git reset`

git - 我怎样才能在远程分支上获取最新信息?

git - 如何对特定提交执行 rebase ?

automated-tests - 处理自动化部署期间偶尔失败的 Selenium 测试

git - Jenkins:git "Checking out Revision"后失败

jenkins-pipeline - 如何在子文件夹中发现 Jenkinsfile