jenkins中使用pipeline部署应用

准备环境

  • 安装Jenkins

  • 安装pipeline相关插件

  • 创建一个pipeline类型的job

pipeline语法

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
pipeline {
environment {
BUILD_VERSION = VersionNumber(versionNumberString: '${BUILD_DATE_FORMATTED, "yyyyMMdd"}-${BUILD_ID}')
}
agent any
stages {

stage("构建") {
steps {
sh """
echo start build number:${BUILD_VERSION}
echo \${PATH}
"""
}
}

stage("部署") {
steps {
sh """
echo start deploy
"""
}
}
}
post {
success {
sh """
echo deploy success
"""
}
}
}

说明:

pipeline可以直接写在job定义中,也可以写在git仓库中,最好是写在仓库中方便管理

  • environment 可以定义构建时的环境变量,在构建时使用,VersionNumber函数由VersionNumber插件实现,方便生成构建版本

  • agent 指定执行pipeline的Jenkins节点,安装cloud插件后可以方便的使用cloud自动创建部署节点

1
2
3
4
5
6
agent {
kubernetes {
cloud "kubernetes"
label "jnlp-agent"
}
}
  • stages 定义构建时的各个阶段

  • stage 定义构建的具体操作,sh脚本中引用environment中定义的变量可以使用${var}方式,当需要引用执行节点的环境变量时需要把$转义,使用\${var}

  • post 定义构建完成后执行的动作,success用于构建成功的操作,一般可以给git仓库创建tag之类

参考

官方文档