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


    前言

    整理一下pipeline。

    正文

    介绍

    什么是pipeline呢?

    根据前面的所得,我们知道,以前都是模板形式,但是如果有些复杂的项目,需要用更加自定义的写法,那么就有了pipeline,也就是官方给我们的接口,让我们实现更加复制的项目。

    pipeline脚本是由groovy实现的,但是我们去写一个构件脚本,也没必要去知道这个groovy实现。

    pipeline支持两种语法,Declarative(声明式的)和script pipline语法。

    这两种有啥区别,区别就是Declarative更加简单,因为是声明的,我们写代码也知道这种声明的一般都是非常简洁,富有规律的,官方现在也是推荐这种申明的。

    pipline 存储方式有两种,一种是写在我们的jenkins的数据库中,也就是说由我们的jenkins 去管理。

    另一种是写在我们的项目中,然后jenkins去调用这个脚本,一般为了方便写在jenkinsFile中,有些项目成熟到一定时候,基本不会变动的情况,为了方便会放在jenkins 的衍生项目中,这又是后话了。

    使用

    在使用这个pipeline 中,我们要安装一下pipeline插件。

    然后就出现了下面这个东西:

    接下来就是我们就可以创建一下流水线项目了。

    好吧,开始。目的就是把我们前面的构建项目用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代码放进去。
    如下:

    然后上传。

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

    写法如下:

    然后构建即可,然后就成功了。

    下一节,介绍触发器。

  • 相关阅读:
    手机端页面自适应解决方案
    每日一算法之拓扑排序
    C++顺序容器类总结
    c++ 运算符优先级
    CUDA获取显卡数据
    第一个CUDA程序
    C++有关类的符号总结
    shell编程的一些例子5
    shell编程的一些例子4
    shell编程的一些例子3
  • 原文地址:https://www.cnblogs.com/aoximin/p/14457195.html
Copyright © 2020-2023  润新知