簡體   English   中英

如何在特定的奴隸中限制jenkins管道碼頭代理?

[英]How to restrict the jenkins pipeline docker agent in specific slave?

我有幾個jenkins奴隸配置,只有標簽與dockerserverdockerserver env,那么我怎樣才能限制jenkins管道docker代理在這個奴隸?

Jenkinsfile下面不起作用, stageagent將覆蓋已定義的slave dockerserver

pipeline {
    agent { label 'dockerserver' }
    stages {
        stage('Back-end') {
            agent {
                docker { image 'maven:3-alpine' }
            }
            steps {
                sh 'mvn --version'
            }
        }
        stage('Front-end') {
            agent {
                docker { image 'node:7-alpine' }
            }
            steps {
                sh 'node --version'
            }
        }
    }
}

它可能會選擇其他沒有支持docker的slave

有什么建議嗎?

剛出現同樣的問題,似乎對我有用:

pipeline {
    agent { label 'dockerserver' } // if you don't have other steps, 'any' agent works
    stages {
        stage('Back-end') {
            agent {
                docker {
                  label 'dockerserver'  // both label and image
                  image 'maven:3-alpine'
                }
            }
            steps {
                sh 'mvn --version'
            }
        }
        stage('Front-end') {
            agent {
              docker {
                label 'dockerserver'  // both label and image
                image 'node:7-alpine' 
              }
            }
            steps {
                sh 'node --version'
            }
        }
    }
}

在更多地閱讀了指南之后,注意到它已經說明了https://jenkins.io/doc/book/pipeline/docker/#specifying-a-docker-label

在此輸入圖像描述

它應在jenkins全局(系統)配置中配置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM