gpt4 book ai didi

git - Jenkins GitSCM 在特定文件夹中 checkout

转载 作者:行者123 更新时间:2023-12-03 21:19:37 26 4
gpt4 key购买 nike

我搜索了很多,GitSCM 插件和 stackoverflow 等,但找不到答案。我想通过 Jenkins GitSCM 插件将 Git 存储库 checkout 到一个特定的文件夹中,比如“MyFolder”。

所以如果我的仓库是 xyz.git然后在 checkout 后存储库的所有文件都应该在 MyFolder/* 中而不是在 MyFolder/xyz/* .

要了解更多信息,我想使用 Jenkins GitSCM 插件在下面实现(假设存储库是 xyz.git)。下面的命令将 check out MyFolder 中的文件不包括根文件夹 xyz

git clone <REPOSITORY> -- MyFolder

和下面的命令将 checkout xyz 文件夹中的文件
git clone <REPOSITORY> 

作为引用,我正在处理以下配置
  checkout([$class: 'GitSCM', branches: [[name: gitDefaultBranch]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CleanBeforeCheckout'],[$class: 'SubmoduleOption', disableSubmodules: false, parentCredentials: true, recursiveSubmodules: true, reference: '', trackingSubmodules: false]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: gitCreds, url: gitProjectUrl]]])

请建议。
版本信息:
  • Jenkins 2.121.1 核心
  • 管道:声明性 1.3.2
  • 管道:Groovy 2.55
  • Git 插件 3.9.1
  • org.jenkins-ci.plugins:scm-api:2.3.0
  • org.jenkins-ci.plugins.workflow:workflow-scm-step:2.7
  • 最佳答案

    您可以使用 [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'MyFolder/']]在您的 checkout 代码中。

    类似于以下内容:-

     checkout([   $class: 'GitSCM',
    branches: [[name: gitDefaultBranch]],
    doGenerateSubmoduleConfigurations: false,
    extensions: [[$class: 'CleanBeforeCheckout'],
    [$class: 'SubmoduleOption',
    disableSubmodules: false,
    parentCredentials: true,
    recursiveSubmodules: true,
    reference: '',
    trackingSubmodules: false],
    [$class: 'RelativeTargetDirectory',
    relativeTargetDir: 'MyFolder/']],
    submoduleCfg: [],
    userRemoteConfigs: [[credentialsId: gitCreds, url: gitProjectUrl]]
    ])

    关于git - Jenkins GitSCM 在特定文件夹中 checkout ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55630132/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com