jenkins插件pipeline集成持续交付管道全面介绍

目录
  • 前言
  • Jenkinspipeline是什么?
  • 为什么使用pipeline?
  • enkinsfile支持脚本式ScriptedPipeline和声明式DeclarativePipeline
    • ScriptedPipeline
    • 声明式DeclarativePipeline
  • 使用Jenkinsfile的好处:
  • 关于BlueOcean

前言

前篇博文我们实践了jenkins pipeline的脚本模式,体验到了pipeline的流式构建流程,以及通过bule  ocean更清晰的展示了构建的全过程,下面我们就jenkins pipeline相关内容做个全面的了解。

Jenkins pipeline是什么?

Jenkins Pipeline是一套插件,支持在Jenkins中实施和集成持续交付管道。

一个持续交付(CD)管道是从用户到版本控制软件的自动化表达。对软件的每一次改变(在源代码控制中提交)都会在发布过程中经历一个复杂的过程。这个过程包括以可靠和可重复的方式构建软件,以及通过测试和部署的多个阶段来推进构建的软件(称为“构建”)。

Pipeline提供了一套可扩展的工具,用于通过管道域特定语言(DSL)语法将“简单到复杂”的交付管道使用“代码”建模 。

Jenkins管道的定义被写入到一个jenkinsfile的文本文件,该文件又可以被提交到项目的源代码控制库。这是“Pipeline-as-code”的基础。将CD管道作为应用程序的一部分进行版本控制,并像任何其他代码一样进行审查。

为什么使用pipeline?

Jenkins从根本上说是一个支持多种自动化模式的自动化引擎。Pipeline在Jenkins上增加了一套强大的自动化工具,支持从简单的持续集成到全面的CD管道的用例。通过对一系列相关任务建模,用户可以利用Pipeline的更多功能,如:

  • 可维护:管道是在代码中实现的,并且通常会被签入源代码管理,从而使团队能够编辑,审阅和迭代他们的交付管道。
  • 可能出现:在继续进行管道运行之前,管道可以选择停止并等待人员输入或批准。
  • 复杂场景:管道支持复杂的实际CD需求,包括分叉/连接,循环和并行执行工作的能力。
  • 可扩展性:Pipeline插件支持对其DSL的定制扩展 。

enkinsfile支持脚本式Scripted Pipeline和声明式Declarative Pipeline

Scripted Pipeline

声明式Declarative Pipeline

其中关键语法异同如下:

pipeline 是声明性管道特定语法,它定义了一个包含执行整个管道的所有内容和指令的“块”。

agent 是声明式管道特定的语法,它指示Jenkins为整个管道分配执行程序(在节点上)和工作空间。

stage是描述此Pipeline阶段的语法块 。stage在Pipeline语法页面上阅读关于声明式管道语法块的更多信息。如所提到的上述,stage块在脚本管道语法可选的。

steps是声明式管道特定语法,用于描述要在此中运行的步骤stage。

sh是一个Pipeline 步骤(由 Pipeline:Nodes和Processes插件提供)执行给定的shell命令。

node是脚本化的管道特定语法,指示Jenkins在任何可用的代理/节点上执行此管道(以及其中包含的任何阶段)。这与agent声明式管道特定语法中的效果相同。

使用Jenkinsfile的好处:

虽然用于定义管道的脚本语法和jenkinsfile类似,但通常认为在项目中定义管道Jenkinsfile并检查源代码管理是最佳实践。

  • 为所有分支和请求自动创建一个管道构建过程。
  • 管道上的代码审查/迭代。
  • 审核追踪管道。
  • Pipeline的单一真实来源,可由项目的多个成员查看和编辑

关于Blue Ocean

Blue Ocean是pipeline的可视化UI。同时他兼容经典的自由模式的job。Jenkins Pipeline从头开始设计,但仍与自由式作业兼容,Blue Ocean减少了经典模式下的混乱并为团队中的每个成员增加了清晰度。Blue Ocean的主要特点包括:

  • 连续交付(CD)管道的复杂可视化,可以让您快速直观地理解管道状态。
  • 管道编辑器 - 通过引导用户通过直观和可视化的过程来创建管道,从而使管道的创建变得平易近人。
  • 个性化以适应团队中每个成员的基于角色的需求。
  • 在需要干预和/或出现问题时确定精确度。Blue Ocean显示的标注了关键步骤,促进异常处理和提高生产力。

以上就是jenkins插件pipeline集成持续交付管道全面介绍的详细内容,更多关于jenkins插件pipeline集成持续交付管道的资料请关注我们其它相关文章!

(0)

相关推荐

  • 使用Jenkins Pipeline自动化构建发布Java项目的方法

    简介 Pipeline,简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. Pipeline是Jenkins2.X的最核心的特性,帮助Jenkins实现从CI到CD与DevOps的转变. 一,创建pipeline项目 二,清除部分历史构建 三,参数化构建 这里使用三个参数,分别对应是否拉取代码,项目名称,以及发版选项 四,编写pipeline脚本 选择pipeline script 编写pipelin

  • Jenkins插件pipeline原理及使用方法解析

    摘要: pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个.下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务 pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个.下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务 一,安装pipeline 进入jenkins的[系统管理]--[插件管理]页面,选择[可选插件]然后搜索pipeline. 然后选择直接安装,它会将依赖的一些插件也一并安装.安装完成后重启jenkins就可以使用了.

  • jenkins 构建项目之 pipeline基础教程

    一.pipeline 简介 ​pipeline ,简单来说,就是一套运行在 jenkins 上的工作流框架.将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程 编排 和 可视化 的工作. 二.pipeline 有哪些好处 代码:pipeline 以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程. 持久:无论是计划内的还是计划外的服务器重启,pipeline 都是可以恢复的. 可停止:pipeline 可接受交互式输入,以确定是否继续执行 p

  • Jenkins Pipeline 部署 SpringBoot 应用的教程详解

    一. 安装依赖包 yum install -y wget yum install -y gcc-c++ yum install -y zlib-devel perl-ExtUtils-MakeMaker yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker yum install -y openssh-clients yum install

  • jenkins插件pipeline集成持续交付管道全面介绍

    目录 前言 Jenkinspipeline是什么? 为什么使用pipeline? enkinsfile支持脚本式ScriptedPipeline和声明式DeclarativePipeline ScriptedPipeline 声明式DeclarativePipeline 使用Jenkinsfile的好处: 关于BlueOcean 前言 前篇博文我们实践了jenkins pipeline的脚本模式,体验到了pipeline的流式构建流程,以及通过bule  ocean更清晰的展示了构建的全过程,下

  • 构建及部署jenkins pipeline实现持续集成持续交付脚本

    目录 前言 新增的步骤脚本 需要注意的点: 关于执行启动应用脚本 关于健康检查 线程休眠 健康检查方式 遇到的问题及小技巧 小技巧: 问题: 具体的安全策略异常如下: 解决方案: 文末结语 前言 之前的文章中,已经全面介绍过jenkins pipeline的特点及用途,以及实操了一把,将我们的构建产物jar包丢到了目标主机.这篇是接着上篇的实操,实现构建即部署的脚本实现.会在之前的git clone(拉源码),maven build(构建),deploy jar(上传jia包)的基础上,在新增两

  • Docker下利用jenkins和docker实现持续交付

    一.什么是持续交付 让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定.持续的保持在随时可以发布的状况.它的目标在于让软件的构建.测试与发布变得更快以及更频繁.这种方式可以减少软件开发的成本与时间,减少风险. 二.对比持续交付和传统交付 传统交付的发布周期可以表示为下图: 传统交付的缺点: 慢交付:在这里,客户在指定需求之后很长时间才收到产品.这导致了不满意的上市时间和客户反馈的延迟. 反馈周期长:反馈周期不仅与客户有关,还与开发人员有关.假设您意外地创建了一个bug,并在UAT阶段了解

  • jenkins插件Pipeline脚本jenkinsfile操作指南

    目录 前言 一,安装pipeline支持插件 二,创建流式Item 三,编写pipeline脚本 脚本如下: 添加运行参数 四,尝试构建任务 五,pipeline的一点技巧 文末结语 前言 jenkins是一款流行的开源持续集成软件,插件丰富,扩展灵活.2.0后推出pipeline流式构建,支持构建任务脚本化.本文主要旨在使用jenkins 的pipeline功能完成java maven项目的打包,上传jar到目标服务器.pipeline推出时间不长,实际使用的不是很多,网上基本没啥参考资料,官

  • Java动态线程池插件dynamic-tp集成zookeeper

    目录 前言 配置刷新 Zookeeper配置中心接入扩展实现 总结 前言 dynamic-tp是一个轻量级的动态线程池插件,它是一个基于配置中心的动态线程池,线程池的参数可以通过配置中心配置进行动态的修改,在配置中心的支持上最开始的时候支持Nacos和Apollo,由于笔者公司用的配置中心是Zookeeper,所以就想着扩展支持Zookeeper,在了解源码支持发现dynamic-tp的扩展能力做的很好,提供了扩展接口,只要我开发对应的配置中心模块即可,最终笔者实现了Zookeeper的支持并贡

  • jenkins+docker+nginx+nodejs持续集成部署vue前端项目

    目录 前提: 思路: 步骤: 配置nodejs工具 git代码文件目录如下 Dockerfile的文件内容 nginx.conf主配置文件的内容 最近比较闲,尝试了一下docker部署业务测试环境的前端vue项目,作此记录 这里我的环境是Jenkins+docker+harbor+nginx部署,但是由于此项目以节点形式加入jenkins,构建和部署都在一台,所以没有用到harbor,但是生产环境可能部署和构建不在一台,会需要先推送到harbor,也有详细步骤. 前提: 1安装好了jenkins

  • 基于Jenkins搭建.NET FrameWork持续集成环境

    这里我们主要搭建 .Net 环境.本文是在 Windows 环境下安装的 Jenkins 进行操作 一.安装所需环境 这里我们需要安装以下安装包: .NET Framework 4.6.1https://www.microsoft.com/zh-cn/download/details.aspx?id=49982 MicrosoftBuild Tools 2015https://www.microsoft.com/zh-CN/download/details.aspx?id=48159 .NET

  • 基于Docker的可持续交付问题

    在测试的立场上,希望开发编写的代码都是经过开发的单元测试的,但是事实上,这中间总是存在理想和现实的差距,既然如此,我们何不来开发部署环境后,对服务进行自动化测试验证了.整体的设计思路就是开发编写的代码,使用Dockerfile构建成镜像文件,然后使用docker-compose自动化启动镜像文件,下一步其实就很简单了,我们测试这边进行智能化的自动验证,其实在前面的文章体系中,介绍中智能化测试完成后,在测试结束的时候出具体的测试报告以及如果存在问题,触发整体报警的机制.本文章系列中主要结合CI持续

  • Android Studio插件之Jenkins插件详解

    现在我就来介绍Android Studio上的Jenkins插件,让你可以更加方便地使用Jenkins.用Jenkins持续集成很久了,再Android Studio上的Jenkins插件也有一段时间了,用了该Jenkins插件之后,就不需要每次都在浏览器中区打开Jenkins服务器,然后输入用户名和密码进行登陆,再接着去找到相应的Jenkins任务进行编译了.至少我用起来很方便,这里推荐你们也使用! 现在先来介绍介绍该插件如何使用. 一.Jenkins插件功能介绍 1.Jenkins任务列表

随机推荐