jenkins kubernetes-plugin在管道中设置idletimeout

时间:2017-08-16 08:48:15

标签: jenkins kubernetes jenkins-plugins jenkins-pipeline

配置podTemplate时如何在管道中设置Time in minutes to retain slave when idleMax number of instances

我在System-> Could-> kubernetes中看到了这两个配置选项。但我使用管道,我没有弄清楚如何设置它们。

现在我的管道如下所示。

podTemplate(label: 'docker-go',
  containers: [
        containerTemplate(
            name: 'jnlp',
            image: 'docker.mydomain.com/library/jnlp-slave:2.62',
            command: '',
            args: '${computer.jnlpmac} ${computer.name}',
        ),
        containerTemplate(name: 'docker', image: 'docker.mydomain.com/library/docker:1.12.6', ttyEnabled: true, command: 'cat'),
        containerTemplate(name: 'golang', image: 'docker.mydomain.com/library/golang:1.8.3', ttyEnabled: true, command: '')
  ],
  volumes: [hostPathVolume(hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock')]
  ) {

  def image_tag = "docker.mydomain.com/deploy-demo/demo-go:v0.1"
  def workdir = "/go/src/demo-go"
  node('docker-go') {
    stage('setup') {

    }

    stage('clone') {
    }
    stage('compile') {

    }
    stage('build and push image') {
    }
  }
}

1 个答案:

答案 0 :(得分:1)

好的,我想出来了

添加这两个。 idleMinutes: 10 instanceCap: 10

podTemplate(label: 'docker-go',
  containers: [
        containerTemplate(
            name: 'jnlp',
            image: 'docker.mydomain.com/library/jnlp-slave:2.62',
            command: '',
            args: '${computer.jnlpmac} ${computer.name}',
        ),
        containerTemplate(name: 'docker', image: 'docker.mydomain.com/library/docker:1.12.6', ttyEnabled: true, command: 'cat'),
        containerTemplate(name: 'golang', image: 'docker.mydomain.com/library/golang:1.8.3', ttyEnabled: true, command: '')
  ],
  volumes: [hostPathVolume(hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock')],
  idleMinutes: 10
  instanceCap: 10
  ) {

  def image_tag = "docker.mydomain.com/deploy-demo/demo-go:v0.1"
  def workdir = "/go/src/demo-go"
  node('docker-go') {
    stage('setup') {

    }

    stage('clone') {
    }
    stage('compile') {

    }
    stage('build and push image') {
    }
  }
}