如何使用docker代理在Windows下设置jenkins blue ocean

如何使用docker代理在Windows下设置jenkins blue ocean,windows,docker,jenkins,jenkins-pipeline,Windows,Docker,Jenkins,Jenkins Pipeline,我正在尝试使用docker代理在windows 10下运行一个简单的jenkins管道。我的环境: 从cli运行最新的Jenkins(java-jar-Jenkins) 路径中的Git.exe和docker.exe都正常工作 我的文件: pipeline { agent { docker { image 'maven:3.5.0' } } stages { stage('Hello') { steps { sh 'm

我正在尝试使用docker代理在windows 10下运行一个简单的jenkins管道。我的环境:

  • 从cli运行最新的Jenkins(java-jar-Jenkins)
  • 路径中的Git.exe和docker.exe都正常工作
我的文件:

pipeline {
  agent {
    docker {
      image 'maven:3.5.0'
    }
  }
  stages {
    stage('Hello') {
      steps {
        sh 'mvn --version'
      }
    }
  }
}
结果是,它甚至从未尝试运行docker:

[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Agent Setup)
[Pipeline] sh
[C:\Users\amoya\.jenkins\workspace\oya_sampleapp_jenkins-setup-FIF55WR7GZ32BUQR22LYEG2ZKBHHCXBCQH76TBZYJSB3TNTZCV7A] Running shell script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
完整输出:


这就像试图在windows中运行sh,完全忽略docker代理设置。在linux下,它将图像拉下来并成功运行。您在哪里运行docker守护程序

如果是在localhost上,请尝试将全局DOCKER\u HOST env变量设置为tcp://ip.of.docker.daemon:port

您也可以在Jenkins配置中手动设置

此外,它似乎试图在Windows中启动shell命令,但没有取得多大成功。。。也许你可以试试“批处理”而不是“sh”?(但在非Windows容器中运行shell的上下文中,这没有意义)

另一个选项是在Virtualbox或Hyper-V中运行Jenkins节点来完成所有docker构建/运行,并使用节点标签