前面一篇,介绍了什么是Pipeline,和Pipeline的基本概念,和几个关键字的基本含义的介绍,真正的涉及到Pipeline的语法还没有开始介绍。这篇先来介绍第一个Pipeline代码,分别用两种模式来写,逐渐开始展开Pipeline的语法学习。

1.前提条件准备

1)准备一个Jenkins环境

我个人有一个VPS,搭建了一个Jenkins,供大家参考。我这个系列的脚本涉及Pipeline代码和全部Jenkins job都会在上面进行测试。但是这个环境,还有不到一年时间过期,大概2019-7月份到期。Jenkins url: http://65.49.216.200:8080/ , 你们可以用这个账号去登录:anthony/123456

2) Jenkins环境master节点

我这个Jenkins是安装到一个Linux上,安装好了Jenkins,还需要安装Groovy,以及Git,还有后面也需要安装Python环境。因为Pipleline里面需要写一部分Groovy代码,所以需要安装Groovy运行环境,安装Python也是基于这个原因。

3) 准备一个Github账号和代码仓库

因为Jenkins每次构建之前一般都需要去check out代码,所以我们项目练习代码放在github上,后面我使用的代码会给出,你们如果需要,可以去folk。

 

2.在Jenkins上创建一个Pipeline项目

这个可能很多人没有创建过这个类型,基本上大家之前创建的项目都是自由风格的。参考下面这个图,创建一个Pipeline Job.(注:安装Jenkins的向导过程中,选择默认的插件安装,就会有Pipeline组件)

3.不集成Github的Pipeline代码

这种方式,直接把写好的Pipeline代码拷贝到Pipeline对应的Jenkins页面上,经常用这个方式来进行本地Debug和单元测试。

选择上面创建好的这个Pipeline Job,点击Confige, 到达配置界面,点击Pipeline,然后把代码帖进去,点击保存,具体参考下图。

pipeline {
    agent any 
    stages {
        stage('Build') { 
            steps {
                println "Build" 
            }
        }
        stage('Test') { 
            steps {
                println "Test" 
            }
        }
        stage('Deploy') { 
            steps {
                println "Deploy" 
            }
        }
    }
}

上面这个Pipeline模式就是一个典型的Declarative类型,先不管上面具体语法,我们点击保存,然后点击Build Now,看看控制台日志,会发生什么。

下面我们继续来看看Script模式,修改并黏贴如下代码。

点击保存,然后点击Build Now,继续看看#2的job的控制台。

从日志结果来看,第二种Scripted Pipeline代码也成功运行,得到了正确的结果。

 

4.集成Github,把Pipeline代码放到Jenkinsfile文件中

这种方式才是开发中使用的场景,任何Pipeline和业务代码一样需要添加到代码仓库。这里我们模仿git,只写Declarative的模式,以后我们都使用Declarative模式的Pipeline代码。

我准备好的github项目地址:https://github.com/Anthonyliu86/Pipeline-Demo1.git

项目中只有一个Jenkinsfile文本文件,里面写的是Declarative模式的Pipeline代码。下面,继续使用上面创建好的Job,到Configure页面,选择如下图的git拉取Pipeline代码。

点击保存,然后点击Build Now,点击#3的控制台,看看日志。

这种代码拉取,执行文件的方式,运行结果也是成功,以后我们基本上都是使用这个方式。

回到Jenkins job上看看整体构建情况,以下这种图就是Pipeline的优点之一,每个stage或者叫阶段都干了什么事情,是成功还是失败,每个stage都可以看到日志。

这篇就学习到这里,篇幅太长了,具体代码解释和语法含义,下一篇来介绍。能成功跑起来,就可以了,刚开始,很多人都玩不了这个代码,真不要小瞧了。其实上面代码打印语句代码用了Groovy的语法,如果你机器没有安装Groovy,可能就会报错,构建失败。

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐