一、Jenkins变量使用
### --- Jenkins内置变量使定义env变量:打开构建环境中所有的变量
~~~ Dashboard——>New Item——>Enter an item name:pipeline-var——>Pipeline——>Save——>
~~~ Pipeline——>Definition:Pipeline script——>Hello world——>Script:变量见下文——>Save——>END
pipeline {
agent any
stages {
stage('Hello') {
steps {
sh """
env
"""
}
}
}
}
二、查看Jenkins中默认的变量
~~~ # 常用的一些内置变量
+ env
BUILD_URL=http://192.168.1.14:28080/job/pepeline-var-test/3/
HOSTNAME=k8s-node01
SSH_CLIENT=192.168.1.103 62367 22
BUILD_TAG=jenkins-pepeline-var-test-3
JOB_URL=http://192.168.1.14:28080/job/pepeline-var-test/
WORKSPACE=/root/.jenkins/workspace/pepeline-var-testlocal/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin:/root/bin
PWD=/root/.jenkins/workspace/pepeline-var-test
JOB_NAME=pepeline-var-test
JENKINS_URL=http://192.168.1.14:28080/
BUILD_ID=3
JOB_BASE_NAME=pepeline-var-test
JOB_DISPLAY_URL=http://192.168.1.14:28080/job/pepeline-var-test/display/redirect
BUILD_NUMBER=3
三、自定义变量
### --- 添加deploy参数:
~~~ Dashboard——>New Item——>Enter an item name:pipeline-var——>Pipeline——>Save——>
### --- 变量一:General——>This project is parameterized——>Choice Parameter
~~~ ——>Name:DEPLOY_TO ——>Choices:true false
~~~ ——>Description:是否进行部署操作——>Save——>
~~~ deploy:true进行部署
~~~ deploy:false不进行部署
### --- 添加gitlab地址参数
~~~ # 变量二:
~~~ General——>This project is parameterized——>List Git branches(and more)
~~~ ——>Name:Branch ——>Repository URL:https://github.com/dotbalo/k8s-ha-install.git
~~~ ——>Credentials:若是GitHub是public可以不需要证书——>Parameter Type:branch——>Save——>
~~~ # 但是一般获取的是后面的版本号这个值,前面的不去,加入正则表达式
~~~ ——>Branch Filter:refs/heads/(.*)——>save:只获取版本号——>END
![](https://i-blog.csdnimg.cn/blog_migrate/3cf6f730dcc1d835a31b6933be686e36.png)
![](https://i-blog.csdnimg.cn/blog_migrate/623374b44ef6d746b001fcf37490ef90.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3351220b7ce1d75d8ba928b1c3cf5ced.png)
### --- 隐藏变量
~~~ # 变量三:
~~~ General——>This project is parameterized——>Hidden Parameter
~~~ ——>Name: HARBOR_ADDRESS——>Default Value:127.0.0.1
~~~ ——>Description:镜像仓库地址——>END
~~~ 镜像做好之后不需要所有人知道上传到什么位置,只需要有这个编辑权限的人员知道就可以了,
~~~ 所以给隐藏起来
### --- 普通的字符串变量
~~~ # 变量四:
~~~ General——>This project is parameterized——>StringParameter——>Name: DEPLOY_TYPE
~~~ ——>Default Value:deployment——>Description:k8s资源类型——>Save——>END
四、定义pipeline并打印变量
pipeline {
agent any
stages {
stage('Hello') {
steps {
sh """
env
echo BRANCH: "${BRANCH}"
echo HARBOR_ADDRESS: "${HARBOR_ADDRESS}"
echo DEPLOY_TYPE: "${DEPLOY_TYPE}"
"""
}
}
}
}
build构建job,查看变量的打印
![](https://i-blog.csdnimg.cn/blog_migrate/8237894f11d0f34ed0c1e6e51d2b0fca.png)