|NO.Z.00368|——————————|CloudNative|——|KuberNetes&CI/CD.V06|——|Jenkins.v06|自定义变量.v01|
一、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



### --- 隐藏变量
~~~ # 变量三:
~~~ 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,查看变量的打印

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通