hello云胜

技术与生活

0%

Jenkins语法

environment

用来定义环境变量。环境变量的作用范围,取决你environment{…}所写的位置,你可以写在顶层环境变量,让所有的stage下的step共享这些变量。如果定义在某个stage下,那么其他stage里的step就不能使用这些变量。

一般而言,我们都是用environment定义全局变量,局部变量用def关键字定义即可。

举例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
environment {
REGISTRY = 'harbor-test.xxx.net
HARBOR_NAMESPACE = 'dddd
APP_NAME = 'notice-tool'
APP_VERSION = '1.0.0'
}

stage('build img') {
steps {
script {
sh 'docker build -t $REGISTRY/$HARBOR_NAMESPACE/$APP_NAME:$APP_VERSION .
}
}
}

env

内置的环境变量,可以直接使用

举例

1
2
3
4
if (env.BRANCH_NAME == 'master') {
// 如果是master分支,xxxxx
println env.WORKSPACE // 打印当前工作目录
}

内置环境变量有很多

WORKSPACE 当前工作目录
BRANCH_NAME 当前分支

内置方法

dir()

改变当前的工作目录

举例

1
2
3
dir("${env.WORKSPACE}/testdata"){   //切换到当前工作目录下的testdata目录
sh "pwd" //sh命令可以 sh "command..." 也可以 sh("command....")
}

deleteDir()

清空当前目录