简介
昨晚领导给我讲解了一下jenkins通过pipline方式构建jenkins结合gitlab的自动化构建镜像,大体听懂了,自己的理解,通过pipline的方式构建等同于把需要手动配置的configure的东西,全部用脚本代码来实现,也算是减少了重复配置的工作,并且能实现一些configure无法实现的情况。
Pipline
什么是Pipeline,简单来说,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。Pipeline的实现方式是一套Groovy DSL,任何发布流程都可以表述为一段Groovy脚本,并且Jenkins支持从代码库直接读取脚本,从而实现了Pipeline as Code的理念。
Pipeline脚本是用Groovy写的,有的复杂的配置可以通过生成器直接生产代码,复制到代码结构中。
pipline脚本方式有两种生成如下图/20180719050930339.png)
具体通过生成器产生代码方法,其实就是跟手动配置configure一样/20180720023559988.png)
Declarative Pipeline
语法结构模式
Declarative Pipeline 语法链接1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21pipeline {
agent any ####指定你跑的jenkins跑在哪个节点上,如果配置了分布式构建,这里就可以指定
parameters {
****** #####需要的参数 对应congfigure里面的parameters
}
options {
****** ####选项
}
environment {
****** ####环境变量 这里面的env 只能在steps调用 测试过triggers调用取不到
}
triggers {
gitlab( ### gitlab触发器配置
*******)
}
stages { ###这里就是主要的步骤
stage('git source') { ### 可以写多个stages
steps { ### 每个stages可以多个steps
****
}
}
Jenkinsfile
1 |
|
jenkins配置
采用pipeline script from SCM方式,在pipline选项中选择。
pipeline script from SCM:需要配置SCM代码存储Git地址或SVN地址,指定script文件Jenkinsfile所在路径,每次构建job会自动去指定的目录执行script文件。
具体配置查看官方文档
现在阶段只是配置了构建镜像,并没有集成到部署,学习中待补。。。
参考文档
END