Jenkinfile入门:Pipeline as code

小编 DevOps视角

什么是pipeline


在《持续交付》中是这样介绍Pipeline的,Pipeline是指从软件版本控制库到用户手中这一过程的自动化表现形式。

在Jenkins的官方文档中,流水线是用户定义的一个CD流水线模型 。流水线的代码定义了整个的构建过程, 他通常包括构建, 测试和交付应用程序的阶段 。

Jenkinsfile


Jenkinsfile就是一个文本文件,就像Dockerfile对于Docker一样。
Jenkins默认是不支持Jenkinfiles的,需要安装Pipeline插件才能够支持。正是由于Jenkinsfile,Jenkins才能实现"Pipeline as code"。

pipeline语法

语言


Goovy语言被选择作为基础来实现pipeline,所以在写脚本式pipeline时,就是在写Groovy代码。语法有脚本式语法和声明式语法两种。pipeline插件从2.5版本开始才支持两种语法。

语法


脚本式语法

脚本式语法灵活、可扩展,但也意味着更复杂。

node {    stage('Build') {      //执行构建    }    stage('Test') {      //执行测试    }    stage('Deploy') {        try{            //执行部署        }catch(err){            currentBuild.result = "FAILURE"            main body "project build error is here:${env.BUILD_URL}"            from: 'xxx@yy.com'            replyto: 'yyy@yy.com'            subject: 'project build failed'            to: 'zzz@yy.com'            throw err        }    }}

声明式语法

由于脚本式语法比较复杂,才有了声明式语法,提供更简单、更结构化的语法。

pipeline {    agent any    stages {        stage('Build'){            steps {                echo "building"            }        }        stage('Test'){            steps {                echo "testing"            }        }        stage('Deploy'){            steps {                echo "deploying"            }        }        post {            failure {                mailto: "xxx@yy.com", subject: 'The pipeline  failed'            }        }    }}

创建第一个pipeline

安装pipeline插件

【系统管理】->【插件管理】->【可选插件】 搜索Pipeline

创建pipeline任务

进行构建



从版本控制拉去pipeline


这里是使用github,从 github上获取项目的Jenkinsfile进行构建。
需要安装Git plugin插件。

配置凭证(credentials)



配置pipeline


进行构建


结语


这里先不介绍Pipeline使用Maven进行构建了。使用Maven进行构建时,有两种方法。一种是使用Jenkins安装Maven并进行构建,一种是使用手动安装Maven进行构建

©著作权归作者所有:来自51CTO博客作者mob604756e75222的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 【DevOps进行时】基于iOS平台的集中构建方法研究与实践
  2. 微服务架构中如何快速构建一个数据报告服务?
  3. 编写Dockerfile最佳实践
  4. 编写 Dockerfile 最佳实践
  5. 构建用户评分体系
  6. 三分钟构建自动化运维平台-nightingale(夜莺)
  7. shell 双多分支if条件句语法
  8. error C2143: 语法错误 : 缺少“)”(在“;”的前面)
  9. MySQL系列-DDL语句

随机推荐

  1. Android™ 1.5 android.R.drawable Icon
  2. Android学习网站
  3. 将软键盘变成搜索
  4. 【Android车载系统 News | Tech 5】车载
  5. Android HttpClient网络通信
  6. Android中使用HttpURLConnection和HttpCl
  7. android学习笔记16:带提示的输入框
  8. 2014.02.11 ——— android volley 打包
  9. 使用命令建立简单的布局
  10. XMPP android 相关收集