詹金斯码头工人管道错误

Pet*_*ete 10 groovy jenkins docker jenkins-pipeline

我正在尝试按照本教程创建一个简单的 docker 环境,作为我的 jenkins 管道构建的一部分。

在进行 maven 构建之前,我正在尝试构建几个 docker 镜像作为测试。目前我的 Jenkinsfile 有以下常规:

#!groovy

node {

  stage 'Building docker env'
  def dbImage = docker.build('oracle', 'docker/oracle')
  def wlpImage = docker.build('liberty', 'docker/liberty')


  stage 'Running maven build'
  git url: 'https://mysite/myproject.git', branch: 'docker'
  def mvnHome = tool 'maven 3.3.9'
  sh "${mvnHome}/bin/mvn -B clean install"
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试让 docker build 在目录“docker/oracle”中查找并调用该目录中的 Dockerfile,并构建名为“oracle”的 docker 映像,对于自由也是如此。目前虽然它给了我这个错误:

Running on master in /root/.jenkins/workspace/pipeline_test
[Pipeline] {
[Pipeline] stage (Building docker env)
Using the ‘stage’ step without a block argument is deprecated
Entering stage Building docker env
Proceeding
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
groovy.lang.MissingPropertyException: No such property: docker for class: groovy.lang.Binding
    at groovy.lang.Binding.getVariable(Binding.java:63)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224)
    at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28)
    at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
...
Run Code Online (Sandbox Code Playgroud)

任何想法我正在使用的 docker.build 命令可能有什么问题?(或者它可能是我忘记在 Jenkins 中安装的东西?)

Pet*_*ete 34

问题是我需要在 Jenkins 中安装 Docker Pipeline 插件。