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

时间:2017-05-13 20:47:48

标签: windows docker jenkins jenkins-pipeline

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

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

My Jenkinsfile:

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

完成输出:https://gist.github.com/adrianmoya/bf01d97090c4b9de7fd27db31ecfc837

就像试图在Windows中运行sh一样,完全忽略了docker代理设置。在linux下,它会拉下图像并成功运行。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

你在哪里运行docker守护进程?

如果在localhost上尝试将全局DOCKER_HOST env变量设置为tcp://ip.of.docker.daemon:port

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

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

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