最近在学 Declarative Pipeline 语法遇到一些问题,查了很多资料也没能解决😂

#!/usr/bin/env groovy Jenkinsfile
pipeline {

    agent any
    parameters {
    choice(name:'choiceTest', choices:'1234\nABCD', description: '')
    string(name:'test', defaultValue: 'test1', description: '')
    }

    tools {
        maven 'maven3'
        jdk   'jdk8'
    }

}

对于以上内容,有如下问题想请教一下:
1.想请教一下 choice 怎样选择到 ABCD 这个值,我使用 ${params.choiceTest[1]}取到的值是 2
2.tools 的用法,如果我想使用 docker 该怎么写

tools{
    org.jenkinsci.plugins.docker.commons.tools.DockerTool 'docker'
    Docker 'docker'
    docker 'docker'
}

这样是都不行的,像这样的问题,比如安装的三方插件或者说只要不是一个单词像 jdk maven gradle 这样的都不知道该怎么写
错误日志

WorkflowScript: 17: Invalid tool type "docker". Valid tool types: [ant, hudson.tasks.Ant$AntInstallation, org.jenkinsci.plugins.docker.commons.tools.DockerTool, git, hudson.plugins.git.GitTool, gradle, hudson.plugins.gradle.GradleInstallation, jdk, hudson.model.JDK, jgit, org.jenkinsci.plugins.gitclient.JGitTool, jgitapache, org.jenkinsci.plugins.gitclient.JGitApacheTool, maven, hudson.tasks.Maven$MavenInstallation, hudson.plugins.mercurial.MercurialInstallation, hudson.plugins.sonar.SonarRunnerInstallation, hudson.plugins.sonar.MsBuildSQRunnerInstallation, com.hello2morrow.sonargraph.integration.jenkins.tool.SonargraphBuild] @ line 17, column 8.
          docker 'docker'

3.像 string 那个参数那样,既然是 defaultValue,我理解的是应该可以替换,那么需要怎样替换


↙↙↙阅读原文可查看相关链接,并与作者交流