当前位置: 首页 > 面试题库 >

Jenkinsfile管道中的SparseCheckout

充子航
2023-03-14
问题内容

在jenkinsfile,我已经通过指定的文件夹名 SparseCheckoutPaths 我想结帐。但是我却得到了整个分支结帐。

   checkout([$class: 'GitSCM', 
       branches: [[name: '*/branchName']],
       extensions: [[$class: 'SparseCheckoutPaths', path: 'FolderName']],
       userRemoteConfigs: [[credentialsId: 'someID',
       url: 'git@link.git']]])

问题答案:

这是我自己的问题的答案。关于它如何工作的一些背景知识,有一个名为 sparsecheckout的
git客户端标志/配置,负责这种签出。此外,还需要一个 稀疏签出的
命名文件。

我的问题是 Jenkinsfile 的语法,正确的语法如下:

checkout([$class: 'GitSCM', 
    branches: [[name: '*/branchName']],
    doGenerateSubmoduleConfigurations: false,
    extensions: [
        [$class: 'SparseCheckoutPaths',  sparseCheckoutPaths:[[$class:'SparseCheckoutPath', path:'folderName/']]]
                ],
    submoduleCfg: [],
    userRemoteConfigs: [[credentialsId: 'someID',
    url: 'git@link.git']]])

有关更多信息,请访问github链接



 类似资料:
  • 我有一个Jenkinsfile,其中构建和测试在同一个Slaver上运行。我的要求是,构建必须在一个从站(比如A)上,测试必须在另一个从站(比如B)上运行。 我刚刚设置了奴隶B,我可以看到我的奴隶A和B都在Jenkins- 以下是看到的问题: 1.)在构建阶段成功后,我得到以下错误: " java.lang.NoSuchMethodError:在步骤[archive,bat,build,catch

  • 我已经在Jenkins上创建了一个基本的声明性管道。当我运行构建时,它会抛出以下错误 Jenkins服务器使用最新版本的默认插件设置为默认。Jenkinsfile如下所示 当Jenkins读取Jenkinsfile时,看起来块失败了,这在Jenkinsfile看起来很混乱。

  • 我已经创建了一个jenkins管道,它正在从scm中提取管道脚本 我将分支说明符设置为“all”,因此它基于对任何分支的任何更改。 如何从Jenkinsfile访问导致此构建的分支名称? 我试过的所有东西都是空的,除了 它始终是主。

  • 问题内容: 我们正在使用 Script Pipeline 语法,其中定义了很多阶段来构建和部署代码。我们有一个用例,如果我要执行 完整构建,则要 运行所有阶段,但是如果需要执行一些AWS路由,则只运行一个特定阶段。我知道我可以使用跳过阶段或运行阶段。问题是我不想将这个条件应用于我的每个阶段。 在新的 声明性管道 语法中,使用该选项很容易实现。我们的基础架构中使用了许多自定义的Groovy帮助器函数

  • 问题内容: 我正在尝试将jenkins管道作为代码来做。我正在使用Github组织文件夹插件来扫描Github组织并为每个分支创建作业。有没有一种方法可以明确定义从Jenkinsfile获取的管道作业的名称?我还想为作业添加一些说明。 问题答案: 您需要使用如下所示。该部分很重要 编辑:上面一个重命名生成,其中原始问题是关于重命名作业。在管道中执行以下脚本可以做到这一点(这需要 适当的权限 )

  • 问题内容: 我在jenkins 2.x上并使用管道。 我已经配置了要使用param构建的作业,并具有一个字符串param: 我也从github(脚本的管道)获得Jenkinsfile: 现在在我的Jenkinsfile中,我正在使用param:$ {githubUrl}并抛出错误: stdout:stderr:致命:’$ {githubUrl}’似乎不是git存储库 因此,如果直接编写管道脚本,则