Jenkins ——pipeline入门教程

这篇具有很好参考价值的文章主要介绍了Jenkins ——pipeline入门教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是pipeline

什么是Pipeline?简单来说,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程(实用场景:将多个Jenkins构建任务轻松集成)。

  简而言之,就是一套工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。
  目前比较流行的pipeline实践方式如下。

  • gitlabrunner: 是gitlab内置的一套pipeline框架,脚本是yml语言。
  • jenkins: 通过安装插件的形式实现,脚本语言是jenkinsfile。

Pipeline的实现方式是一套Groovy DSL,任何发布流程都可以表述为一段Groovy脚本,并且Jenkins支持从代码库直接读取脚本,从而实现了Pipeline as Code的理念。

  • Jenkinsfile:是 Jenkins Pipeline 的配置文件,包含了流水线执行的各种操作。

使用条件

要使用Jenkins Pipeline,需要: Jenkins 2.x或更高版本、Pipeline插件

使用语言

Pipeline脚本是用Groovy写的 。

二、pipeline在哪

首先确保Jenkins上已经有pipeline相关插件。如果想在Jenkins上新建一个pipeline Job,按照下列步骤操作:

1、单击Jenkins主页上的New Item。

Jenkins ——pipeline入门教程

2、输入Pipeline的名称,选择Pipeline,然后单击确定。

Jenkins ——pipeline入门教程

3、最后点击完成,一个pipeline项目就生成了

三、一个简单的pipeline脚本

pipeline项目中实际起作用的就是pipeline 脚本部分,这里写一个HelloWorld,编辑后点击保存,期望执行打印hello world操作。

Jenkins ——pipeline入门教程

由于这个脚本是无参数的,所以直接点击Build Now就可以了,来查看一下构建结果,

可以看到最后输出了期望的 Hello world!

Jenkins ——pipeline入门教程

这里对语法进行简单介绍

Example

stages
pipeline {
   agent any
   stages {
       stage('Example') {
           steps {
               echo 'Hello World'
           }
       }
   }
}

复制

agent

在任何可用的agent 上执行Pipeline或stage。例如:agent any

还有其他的agent后面可跟的参数,例如:none,label,node,docker

none

当在pipeline块的顶层使用none时,将不会为整个Pipeline运行分配全局agent ,每个stage部分将需要包含其自己的agent部分。

label

使用提供的label标签,在Jenkins环境中可用的代理上执行Pipeline或stage。例如:agent { label 'my-defined-label' }

node

agent { node { label 'labelName' } },等同于 agent { label 'labelName' },但node允许其他选项(如customWorkspace)。

docker

定义此参数时,执行Pipeline或stage时会动态供应一个docker节点去接受Docker-based的Pipelines。docker还可以接受一个args,直接传递给docker run调用。例如:agent { docker 'maven:3-alpine' }

stages

包含一个或多个stage的序列,Pipeline的大部分工作在此执行。建议stages至少包含至少一个stage指令,用于连接各个交付过程,如构建,测试和部署等。

steps

steps包含一个或多个在stage块中执行的step序列。

总结:

1、Pipeline最基本的部分是“step”。基本上,step告诉Jenkins 要做什么,并且作为Declarative Pipeline和Scripted Pipeline语法的基本构建块。

2、Pipeline支持两种语法:Declarative Pipeline(在Pipeline 2.5中引入,结构化方式)和Scripted Pipeline,两者都支持建立连续输送的Pipeline。

3、所有有效的Declarative Pipeline必须包含在一个pipeline块内,例如:

pipeline { /* insert Declarative Pipeline here */ }

4、Declarative Pipeline中的基本语句和表达式遵循与Groovy语法相同的规则 ,但有以下例外:

a.Pipeline的顶层必须是块,具体来说是:pipeline { }

b.没有分号作为语句分隔符。每个声明必须在自己的一行

c.块只能包含Sections, Directives, Steps或赋值语句。

四、pipeline实际实用意义

前文说了Pipeline是将原本独立运行于单个或者多个节点的任务连接起来

Jenkins ——pipeline入门教程

https://www.cnblogs.com/mq0036/p/16146065.html文章来源地址https://www.toymoban.com/news/detail-486036.html

到了这里,关于Jenkins ——pipeline入门教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Jenkins】pipeline流水线

    流水线既能作为任务的本身,也能作为jenkinsfile,使用流水线可以让我们的任务从ui手动操作,转换为代码化,像docker的dockerfile一样,从shell命令到配置文件,更适合大型项目,可以让团队其他开发者同事参与进来,同时也可以编辑开发jenkinswebui不能完成的复杂的构建逻辑,作

    2024年02月09日
    浏览(57)
  • 【Jenkins】Pipeline - 设置超时时间

    默认时间单位为 MINUTES ,如果其他时间单位,则使用 unit 参数:SECONDS、MINUTES和HOURS 可以在不同级别(每个整体管道或每个阶段)使用options指定超时 在上面的示例中,在阶段超时之后,流水线中止,并显示以下消息: Sending interrupt signal to process Cancelling nested steps due to timeout 如果

    2024年02月17日
    浏览(33)
  • jenkins Pipeline接入mysql

    jenkin pipeline进化过程如下: Jenkins Pipeline 脚本优化实践:从繁琐到简洁 Jenkins Pipeline脚本优化:为Kubernetes应用部署增加状态检测 使用Jenkins和单个模板部署多个Kubernetes组件。有一些需要动态设置的配置不想在jenkins中配置,想将这些变量存储在mysql 这种数据库中,通过动态修改

    2024年04月15日
    浏览(28)
  • Jenkins pipeline中的全局变量

    1.再environment使用key=value形式定义变量 2.从参数中获取变量值

    2024年02月07日
    浏览(29)
  • Jenkins-Pipeline基本使用

    使用Groovy语法 Pipeline 是Jenkins 2.X核心特性,帮助Jenkins实现从CI到CD与DevOps的转变 Pipeline 简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立 运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流 程编排与可视化 1、声明式(仅在2.5版本后支持)

    2023年04月22日
    浏览(36)
  • Jenkins Pipeline的hasProperty函数

    用于判断某个参数或者字段是否存在。 例子一 出现的场景: 我想通过参数配置进来一个选择框列表,根据选择的情况做不同的处理;在过程中,我发首次构建Job的时候会报错误。错误如下: 原因是:可能是因为首次构建, parameters 中的 extendedChoice 还没有初始化好导致本次

    2024年02月15日
    浏览(28)
  • jenkins_Pipeline使用测试

    安装jenkins 安装声明式插件Pipeline:Declarative 创建pipeline流水线 样例 1.1 agent(代理) 1.2 stages(阶段) 包含一系列一个或多个 stage 指令,建议 stages 至少包含一个 stage 指令用于连续交付过程的每个离散部分,比如构建,测试,和部署。 1.3 post 定义一个或多个steps,这些阶段根据流水线或阶段

    2024年04月11日
    浏览(30)
  • jenkins-pipeline语法详解

    pipeline支持两种语法形式 1. 声明式 1.1特点: 最外层必须由pipline{ //do something }来进行包裹 不需要分号作为分隔符,每个语句必须在一行内 不能直接使用groovy语句(例如循环判断等),需要被script {}包裹 1.2 语句示例 1.3 声明式核心概念 pipeline 2.agent 3.stages 4.stage 5.steps 6.post 1

    2023年04月19日
    浏览(25)
  • Jenkins pipeline 脚本语言学习支持

    Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。 使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。 Groovy是一种基础JVM(Java虚拟机)的敏捷开发语言,他结合

    2024年02月15日
    浏览(38)
  • jenkins主从节点安装及pipeline构建

    通过Jenkins主节点配置的pipeline下发给从节点执行,从而兼容容器化执行 docker-compose.yml 直接docker-compose up -d启动即可 默认装完是2.346.3版本,可以升级到2.4+版本,直接点击首页提示升级即可 相关依赖插件: Docker plugin Docker Commons Plugin Docker API Plugin Docker Pipeline Permissive Script Se

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包