先看配置:
流水线脚本:
pipeline {
agent {
//label "${server}"
label "${28}"
}
stages {
stage('Hello') {
steps {
echo "--------------------------"
// 只有这个可以输出变量
echo "${character_argument}"
echo "--------------------------"
echo "other argument"
echo "--------------------------"
//echo "${password}"
echo "${var_bool}"
echo "${text}"
echo "${options}"
}
}
stage('shell') {
steps{
script {
sh"""
pwd
# shell 脚本中引用 Groovy变量的四种方式
echo ${character_argument}
echo "${character_argument}"
echo "\${character_argument}"
echo '${character_argument}'
echo ----------------------
#echo "${password}"
#echo ${password}
echo "${var_bool}"
echo ${var_bool}
# text文本中,如果有段落或换行就容易失败,所以最好写成一段(shell命令中)
echo "${text}"
echo ${text}
echo option:
echo "${options}"
echo ${options}
"""
}
}
}
}
}
Console Output:
Started by user 昌显瑞
[Pipeline] Start of Pipeline
[Pipeline] node
Running on xxx.xxx.xx.xx in /home/jenkins/program/jenkins/workspace/xxxxxxxx_test
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Hello)
[Pipeline] echo
--------------------------
[Pipeline] echo
default_argument
[Pipeline] echo
--------------------------
[Pipeline] echo
other argument
[Pipeline] echo
--------------------------
[Pipeline] echo
true
[Pipeline] echo
我们在构建任务时经常会遇到这样的情景,一个任务配置好了以后,在后面的构建过程中,又会修改一些配置。例如,我们构建项目的代码可能是拉取指定的分支或者是Tag进行构建,又或者是在构建是需要指定特定的运行平台,如果我们每次构建任务时去修改配置,这就太麻烦了,有没有可能通过参数进行控制,而不用去修改任务的配置呢?这样的需求太常见,Jenkins 肯定是能满足的。
[Pipeline] echo
002
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (shell)
[Pipeline] script
[Pipeline] {
[Pipeline] sh
Warning: A secret was passed to "sh" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [password]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
+ pwd
/home/jenkins/program/jenkins/workspace/middle_nMedia_test
+ echo default_argument
default_argument
+ echo default_argument
default_argument
+ echo default_argument
default_argument
+ echo default_argument
default_argument
+ echo ----------------------
----------------------
+ echo true
true
+ echo true
true
+ echo 我们在构建任务时经常会遇到这样的情景,一个任务配置好了以后,在后面的构建过程中,又会修改一些配置。例如,我们构建项目的代码可能是拉取指定的分支或者是Tag进行构建,又或者是在构建是需要指定特定的运行平台,如果我们每次构建任务时去修改配置,这就太麻烦了,有没有可能通过参数进行控制,而不用去修改任务的配置呢?这样的需求太常见,Jenkins 肯定是能满足的。
我们在构建任务时经常会遇到这样的情景,一个任务配置好了以后,在后面的构建过程中,又会修改一些配置。例如,我们构建项目的代码可能是拉取指定的分支或者是Tag进行构建,又或者是在构建是需要指定特定的运行平台,如果我们每次构建任务时去修改配置,这就太麻烦了,有没有可能通过参数进行控制,而不用去修改任务的配置呢?这样的需求太常见,Jenkins 肯定是能满足的。
+ echo 我们在构建任务时经常会遇到这样的情景,一个任务配置好了以后,在后面的构建过程中,又会修改一些配置。例如,我们构建项目的代码可能是拉取指定的分支或者是Tag进行构建,又或者是在构建是需要指定特定的运行平台,如果我们每次构建任务时去修改配置,这就太麻烦了,有没有可能通过参数进行控制,而不用去修改任务的配置呢?这样的需求太常见,Jenkins 肯定是能满足的。
我们在构建任务时经常会遇到这样的情景,一个任务配置好了以后,在后面的构建过程中,又会修改一些配置。例如,我们构建项目的代码可能是拉取指定的分支或者是Tag进行构建,又或者是在构建是需要指定特定的运行平台,如果我们每次构建任务时去修改配置,这就太麻烦了,有没有可能通过参数进行控制,而不用去修改任务的配置呢?这样的需求太常见,Jenkins 肯定是能满足的。
+ echo option:
option:
+ echo 002
002
+ echo 002
002
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS