首页 > 解决方案 > Jenkins 2 为一项工作构建处理器

问题描述

我对多分支管道作业有一点问题。出现问题后,我的工作总是需要 2 个构建处理器。不幸的是,我不想在 Jenkins 中解锁更多构建处理器,但想知道为什么 Jenkins 总是使用 2 个构建核心来完成这项工作。谁能帮助我为什么詹金斯同时使用 2 个处理器来完成这项工作?

pipeline {
    options { disableConcurrentBuilds() }
    agent { label 'myServer' }

    stages {

        stage('helloworld') {
            agent {
                docker {
                    image 'ubuntu:16.04'
                    label 'myServer'
                }
            }
            steps {
                dir('build') {
                    sh 'npm i'
                    sh 'npm run gulp clean:all'
                    sh 'npm run gulp ci:all'
                }
            }
        }

    }
}

标签: jenkins

解决方案


docker 代理有一个选项reuseNode默认为 false。我认为这可能是詹金斯在您的情况下需要 2 个构建核心(每个 docker 代理一个)的原因,尽管我不确定。

该选项可以在 Jenkins 声明性语法文档 ( https://jenkins.io/doc/book/pipeline/syntax/#common-options ) 中的 Sections > Agent > Common Options > reuseNode 中找到。

你可以尝试启用reuseNode并报告它是否解决了问题?


推荐阅读