Jenkins 管道 docker 代理,使用特权模式从 Dockerfile 启动 docker 容器

Jenkins pipeline docker agent, Start docker conatiner from Dockerfile with previliged mode

在我的 jenkins 管道中,管道代码和 Dockerfile 可在 gitlab 获得

pipeline {
 agent { dockerfile true }
  stages {
   stage('Test') {
    steps {
     sh '''
      java -version
      chmod 777 /data
     '''
    }
   }
  }
}

从 Dockerfile 创建映像并启动 docker 容器,但缺少一些权限。 甚至无法创建目录 需要以权限启动 docker 容器,以便我可以执行此 chmod、mkdir 等

agent { dockerfile .. 支持参数。参见 docs

agent {
    // Equivalent to "docker build -f Dockerfile.build
    dockerfile {
        filename 'Dockerfile.build'
        args '--privileged'
    }
}