podTemplate的从站不会部署Pod

时间:2019-10-04 20:01:41

标签: jenkins kubernetes jenkins-pipeline jenkins-groovy

我正在尝试使用podTemplate启动Jenkins从站,但它所做的全部都挂在Jenkins上:

Still waiting to schedule task
Waiting for next available executor

我为here概述的podTemplates(包括JNLP)创建了一个函数:

package com.test.utils.PodTemplates

 public void jnlpTemplate(body) {
     podTemplate(
         containers: [containerTemplate(name: 'jnlp', image: 'jenkinsci/jnlp-slave:3.10-1-alpine', args: '${computer.jnlpmac} ${computer.name}')]) {
     body.call()
     }
}

public void dockerTemplate(body) {
...
}

return this

我的Jenkinsfile有:

import com.test.utils.PodTemplates

label = "jenkins-${UUID.randomUUID().toString()}"

slaveTemplates = new PodTemplates()

slaveTemplates.jnlpTemplate {
    node(label) {
        stage('Run shell') {
            sh 'echo hello world'
        }
    }
}

计划启动新的Jenkins Slave,但它只是挂起而从不部署从属Pod。

如果将Jenkinsfile更改为:

import com.test.utils.PodTemplates

label = "worker-${UUID.randomUUID().toString()}"

podTemplate(label: label, 
    containers: [containerTemplate(name: 'jnlp', 
                                    image: 'jenkinsci/jnlp-slave:3.10-1-alpine', 
                                    args: '${computer.jnlpmac} ${computer.name}')]) 
{
slaveTemplates = new PodTemplates()

slaveTemplates.jnlpTemplate {
    node(label) {
        stage('Run shell') {
            sh 'echo hello world'
        }
    }
  }
}

它部署了吊舱并成功回显hello world

0 个答案:

没有答案