gpt4 book ai didi

jenkins - 如何防止 Multibranch Pipeline 作业在 master 上克隆 repo

转载 作者:行者123 更新时间:2023-12-01 06:02:50 25 4
gpt4 key购买 nike

我有一个 Multibranch Pipeline 作业,指向一个 Bitbucket Server 存储库。

在 Jenkinsfile 上执行任何操作之前,它总是在主节点工作区中执行存储库的完整克隆。

它为每个分支创建一个新的工作区,并带有存储库的新克隆。

对于一些较大的存储库,这不仅会花费大量时间,而且还会占用主节点上的大量空间。

是否可以执行以下任何操作:

  • 在不克隆完整存储库的情况下下载(并执行)Jenkinsfile
  • 在 master 以外的另一个节点上克隆存储库
  • 自动删除自动删除作业的工作区
  • 最佳答案

    发现它也很烦人。显然,目前没有解决此问题的方法。要开始构建 Jenkins 需要 Jenkinsfile位于存储库中,因此它获取完整的存储库以找到它。更多信息可以在这里找到:JENKINS-33273 Optimize Jenkinsfile loading and branch detection .

    主硬盘空间不足的解决方法是在作业完成后删除存储库副本。只需将此代码段附加到您的 Jenkinsfile .

    node('master') {
    stage 'Cleanup repository from master node'

    // Due to the MultiPipeLine problem with fetching full repository on the
    // master node we need to manually cleanup the workspace to prevent trashing
    // HDD with copies of the git repository
    def workspace = pwd()
    dir("${workspace}@script") {
    deleteDir()
    }
    }

    关于jenkins - 如何防止 Multibranch Pipeline 作业在 master 上克隆 repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43332901/

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