jenkins-pipeline介绍
Jenkins介绍
Jenkins是一款流行的开源持续集成工具,广泛用于项目开发,具有自动化构建、测试和部署功能。官网:https://jenkins.io/zh/
Jenkins的特性:
- 开源的java语言开发持续集成工具,支持持续集成,持续部署。
- 易于安装部署配置:可通过yum安装,或者下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。
- 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成jUnit/TestNG测试报告。
- 分布式构建:支持Jenkins能够让多台计算机一起构建/测试。
- 文件识别:Jenkins能够跟踪哪次构建生成哪些war,哪次构建使用哪个版本的jar等。
- 丰富的插件支持:支持扩展插件,可以开发适合自己团队使用的工具,如git,svn,maven,docker等。
Pipeline流水线项目构建
pipeline简介
pipeline,简单来说,就是一套运行在Jenkins上的工作流程框架,将原来独立运行于单个或者多个节点的任务连接起来。实现单个任务难以完成的复杂流程编排和可视化的工作。
使用pipeline的好处
代码:pipeline以代码的形式出现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程。
持久:无论是计划内的还是计划外的服务器重启,pipeline都是可以恢复的。
可停止:pipeline可以接收交互式输入,确定是否执行pipeline。
多功能:pipeline支持现实世界中复杂的持续交付要求,它支持fork/join,循环执行,并行执行任务的功能。
可扩展:pipeline插件支持其DSL的自定义扩展,以及与其他插件集成的多个选项。
如何创建Jenkins pipeline
pipeline脚本是由Groovy语言实现的,但是我们没有必要单独去学习Groovy。
pipeline支持两种语法:Declaretive(声明式)和(Scripted)pipeline(脚本式)语法。
pipeline也有两种创建方法:可以直接在Jenkins的web UI界面中输入脚本;也可以通过创建一个jenkinsfile脚本文件放入项目源码库中。
安装pipeline
mange jenkins -> manage plugins -> 可选插件,勾选pipeline并且安装。
创建一个简单的声明式pipeline
pipeline{agentany//设置环境变量等stages{stage(Hello){//步骤名称steps{//步骤1echoHello World//步骤的实现}}//步骤按顺序写}}
示例
pipeline{agentanystages{//所有阶段stage(pull code){steps{echopull code}}stage(build project){steps{echobuild project}}stage(publish project){steps{echopublish project}}}}
运行结果
如果你已经安装了Jenkins普通版本,可以在**【Manage Jenkins】——【ManagePlugins】**中搜索BlueOcean安装,安装完之后同样在主界面做侧导航栏可以看到上图中的图标。
安装完成,我们就开始进入主题,使用两种不同的方式创建Pipeline。
经典模式下创建Pipeline
创建pipeline一共两种方式,第一种方式我们称之为传统方式,是使用Jenkins经典界面,通过自己编写PipelineScript来组织流水步骤的。下面用图示的方式简单介绍一下这种方式。
1.登录Jenkins,点击左侧的新建,创建新的构建任务。
2.跳转到如下界面,输入自己的任务名称和描述信息之后,选择流水线选项并点击下方的确定按钮即创建了一个Pipeline任务。
1080×645 114 KB
3.跳转到Pipeline的设置页面,我们可以看到有四个tab,我们会针对每一个tab做详细介绍。
General
General是Pipeline的一些基本配置。名称,描述和一些基本设置。
以下简单介绍几个常用设置。其余没有介绍的设置项,大家可以参考Jenkins的官方文档或者帮助文档。
①.GitHub 项目
该pipeline的源代码托管在Github中,选中此选项,可以添加github中的项目地址
②.Preserve stashes from completed builds
想保留最近几次历史构建就可以勾选此项并填入想要保留的构建次数。每次构建都需要占不少的空间,因此不建议大量保存构建历史。
③.丢弃旧的构建
1080×519 62.3 KB
我这里设置了丢弃构建,仅保留最近一周的构建历史,不限定构建次数。
构建触发器
构建触发器很好理解,就是pipeline构建的触发条件。以下简单介绍一下各个触发条件。这些触发条件可以根据项目需要选择多个,组合使用。
899×204 94 KB
Jenkins创建Pipeline
近期使用Jenkins帮业务团队搭建过一次Pipline,并将测试流程加入到了Pipline中,将搭建过程的做了简单记录。考虑到项目的保密性,该文章仅演示搭建步
超详细的jenkins持续集成工作原理、功能、部署方式等介绍
概述