我正在使用Jenkins kubernetes-plugin。是否可以从Dockerfile构建docker镜像,然后在创建的图像中运行步骤?该插件需要在pod模板中指定一个图像,所以我的第一次尝试是使用docker-in-docker,但步骤docker.image('jenkins/jnlp-slave').inside() {..}失败:
pipeline {
  agent {
kubernetes {
  //cloud 'kubernetes'
  label 'mypod'
  yaml """
apiVersion: v1
kind: Pod
spec:
  containers:
name: docker
image: docker:1.11
command: ['cat']
tty: true
volumeMounts:
volumes:
stages {
stage('Build Docker image') {
  steps {
    git 'https://github.com/jenkinsci/docker-jnlp-slave.git'
    container('docker') {
      sh "docker build -t jenkins/jnlp-slave ."
      docker.image('jenkins/jnlp-slave').inside() {
        sh "whoami"
      }
    }
  }
}
}
}
失败:
WorkflowScript: 31: Expected a symbol @ line 31, column 11.
         docker.image('jenkins/jnlp-slave').inside() {
                    版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
pipeline {
  agent {
kubernetes {
  //cloud 'kubernetes'
  label 'mypod'
  yaml """
apiVersion: v1
kind: Pod
spec:
  containers:
name: docker
image: docker:1.11
command: ['cat']
tty: true
volumeMounts:
volumes:
stages {
stage('Build Docker image') {
  steps {
    git 'https://github.com/jenkinsci/docker-jnlp-slave.git'
    container('docker') {
      script {
        def image = docker.build('jenkins/jnlp-slave')
        image.inside() {
          sh "whoami"
        }
      }
    }
  }
}
}
}