Jenkinfile入门:Pipeline as code
16lz
2021-03-13
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的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 【DevOps进行时】基于iOS平台的集中构建方法研究与实践
- 微服务架构中如何快速构建一个数据报告服务?
- 编写Dockerfile最佳实践
- 编写 Dockerfile 最佳实践
- 构建用户评分体系
- 三分钟构建自动化运维平台-nightingale(夜莺)
- shell 双多分支if条件句语法
- error C2143: 语法错误 : 缺少“)”(在“;”的前面)
- MySQL系列-DDL语句