jenkins 持续集成和交付——pipeline(五)

前言

整理一下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代码放进去。
以下:

而后上传。

接下来就是就开始实践了。

写法以下:

而后构建便可,而后就成功了。

下一节,介绍触发器。

相关文章
相关标签/搜索