整理一下pipeline。java
什么是pipeline呢?git
根据前面的所得,咱们知道,之前都是模板形式,可是若是有些复杂的项目,须要用更加自定义的写法,那么就有了pipeline,也就是官方给咱们的接口,让咱们实现更加复制的项目。spring
pipeline脚本是由groovy实现的,可是咱们去写一个构件脚本,也不必去知道这个groovy实现。docker
pipeline支持两种语法,Declarative(声明式的)和script pipline语法。数据库
这两种有啥区别,区别就是Declarative更加简单,由于是声明的,咱们写代码也知道这种声明的通常都是很是简洁,富有规律的,官方如今也是推荐这种申明的。springboot
pipline 存储方式有两种,一种是写在咱们的jenkins的数据库中,也就是说由咱们的jenkins 去管理。maven
另外一种是写在咱们的项目中,而后jenkins去调用这个脚本,通常为了方便写在jenkinsFile中,有些项目成熟到必定时候,基本不会变更的状况,为了方便会放在jenkins 的衍生项目中,这又是后话了。工具
在使用这个pipeline 中,咱们要安装一下pipeline插件。ui
而后就出现了下面这个东西:url
接下来就是咱们就能够建立一下流水线项目了。
好吧,开始。目的就是把咱们前面的构建项目用pipeline实现一遍。
我建立了一个名字叫java_pipelien 的pipeline项目,里面是这样的,我选中了这个hello word,这个是个声明式的pipeline。
以下:
pipeline { agent any stages { stage('Hello') { steps { echo 'Hello World' } } } }
简单解释一下是什么意思。
上面有一个agent 是代理的意思,后面docker 中我会介绍,这里不详细介绍。
stages 就是阶段。里面就是一步一步的小阶段了,一个阶段里面又能够分为步骤,steps就是步骤了,就是这么划分的。
好吧,直接进入例子,把前面的例子用pipeline重写一遍。
那么第一步咱们就是要去拉取代码,那么就去拉取一下吧。
1.拉取代码
那么代码怎么写呢?是否咱们要去学一下pipeline呢?固然不彻底,前期咱们能够依靠一些工具。
项目里面有一个流水线语法:
点击这个,咱们能够看本身进去生成一些code。
这样选择一下:
点击生成代码后。
下面是生成的code:
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '0c040834-78c4-4ba0-b6e3-b7cc9e9184c6', url: 'http://localhost:3000/aoximin/springbootTest.git']]])
这就是去拉取代码的步骤。
而后咱们能够复制过去:
好吧,如今能够build 一下,试一下。
这样就能够看到去拉取了代码了,而且成功了。
2.开始构建项目
由于咱们安装了maven,其实咱们要作的就是如何实现maven脚本的调用。
而后复制过去。
而后能够本身试一下哈。
3.发布
也就是咱们须要远程部署,那么这个怎么弄呢?前面咱们是经过插件来搞定的,难道要咱们本身用脚原本写,怎么写呢?
实际上jenkins 插件有规范的,既然是有规范的,那么其实咱们能够调用插件,而不须要本身去实现。
安装完前面的发布插件,那么就会有这个东西。
和之前同样填写。
而后生成,而后贴过去。
4.结果
看下结果。
成功了。
根据前面所说,咱们但愿脚本放置在项目中,那么这个怎么弄呢?
5.jenkinsfile
在你的项目下建立一个jenkinsfile,而后把你的pipeline代码放进去。
以下:
而后上传。
接下来就是就开始实践了。
写法以下:
而后构建便可,而后就成功了。
下一节,介绍触发器。