Pipline简介

pipline 是帮助 Jenkins 实现 CI 到 CD 转变的重要角色,是运行在 jenkins 2.X 版本的核心插件,简单来

说 Pipline 就是一套运行于 Jenkins 上的工作流框架,将原本独立运行于单个或者多个节点的任务连

接起来,实现单个任务难以完成的复杂发布流程,从而实现单个任务很难实现的复杂流程编排和任

务可视化,Pipeline 的实现方式是一套 Groovy DSL,任何发布流程都可以表述为一段 Groovy 脚本。

Pipline优势

可持续性:jenkins 的重启或者中断后不影响已经执行的 Pipline Job

支持暂停:pipline 可以选择停止并等待人工输入或批准后再继续执行。

可扩展:通过 groovy 的编程更容易的扩展插件。

并行执行:通过 groovy 脚本可以实现 step,stage 间的并行执行,和更复杂的相互依赖关系。

Pipline语法
# Stage:阶段,一个 pipline 可以划分为若干个 stage,每个 stage 都是一个操作,
# 比如 clone 代码、代码编译、代码测试和代码部署,阶段是一个逻辑分组,可以跨多个 node 执行。 # Node:节点,每个 node 都是一个 jenkins 节点,可以是 jenkins master 也可以是 jenkins agent, # node 是执行 step 的具体服务器。 # Step:步骤,step 是 jenkins pipline 最基本的操作单元,从在服务器创建目录到构建容器镜像,由各

# Jenkins 插件提供实现,例如: sh “make”

Pipline Job测试

创建Pipline Job:

测试Pipline Job

node {
stage("code clone"){
echo "git clone"
}
stage("code build"){
echo "code build"
}
stage("code test"){
echo "code test"
}
stage("code deploy"){
echo "code deploy"
}
}
执行Pipline Job

生成拉取代码的Pipline脚本

更改Pipline脚本

66

执行验证Pipline Job

服务器验证数据

Jenkins分布式构建

添加slave认证凭据

配置Slave节点
# Slave 服务器创建工作目录,如果 slave 需要执行编译 job,则也需要配置 java 环境:
yum install java-1.8.0-openjdk –y
mkdir /data/jenkins/slave -pv

验证Slave

配置Slave执行Job

06 . Jenkins分布式构建和Pipline的更多相关文章

  1. Jenkins分布式构建

    Jenkins分布式构建 有时,如果有一个实例,它是一个更大,更重的项目,需要定期编译生成在许多计算机上.并运行所有这些构建了中央台机器上可能不是最好的选择.在这种情况下,人们可以配置其他Jenkin ...

  2. Jenkins分布式构建与并行构建

    Jenkins分布式构建与并行构建 jenkins的架构 Jenkins采用的是"master+agent(slave)"架构.Jenkins master负责提供界面.处理HTT ...

  3. Jenkins - 分布式构建

    1 - 简介 Jenkins支持分布式多节点(Master-Slave)运行模式. 将安装Jenkins的主机作为Master节点,然后通过界面配置(或远端启动服务)来添加Slave节点. 在这种部署 ...

  4. 连载三:RobotFramework+Selenium+Jenkins分布式构建

    目标:Jenkins安装在服务器上,而使用Jenkins调用本机的脚本并在本机执行. 步骤: (1)需要有RobotFrameWork+Selenium的运行环境: python2.7,Robotfr ...

  5. 06 Jenkins自动化构建

    • 在之前的freestyle任务基础上,实现构建功能• 检查maven环境• 构建命令:mvn clean compile• 归档构建产物• 演练参数的使用• 通过配置Trigger进行自动构建• ...

  6. Jenkins 分布式和并发构建

    1. 分布式构建 1.1 添加 linux 节点 1.2 添加 windows 节点 2. 并发构建 2.1 原理 2.2 示例:分别用 chrome/IE/Firefox 并行测试 1. 分布式构建 ...

  7. 基于Jenkins自动构建系统开发

    1  绪论 1.1 课题的研究背景 随着IT行业的不断发展,软件开发的复杂度也随着不断提高.与此同时,软件的开发团队也越来越庞大,而如何更好地协同整个团队进行高效准确的工作,从而确保软件开发的质量已经 ...

  8. Jenkins分布式与并行

    目录 一.简介 二.agent 通过JNLP协议增加agent 通过Swarm插件增加agent agent部分详解 三.agent放入Docker 使用Docker 配置Docker私有仓库 四.并 ...

  9. Jenkins分布式部署配置

    为什要使用Jenkins分布式? 利用jenkins分布式来构建job,当job量足够大的时候,可以有效的缓解jenkins-master上的压力,提高并行job数量, 减少job处于pending状 ...

随机推荐

  1. 简单的认识Linux

    一:电脑硬件种类说明 1.  服务器的分类: <1>外观分类:机架式,塔式,刀片式/服务器. <2>尺寸分类:1u,2u,3u <3>性能分类:pc服务器,小型机服 ...

  2. Dockerfile+Jenkinsfile+GitLab轻松实现.NetCore程序的CI&CD

    一.相关介绍 Dockerfile:关于Dockerfile的使用说明,我在文章<让.NetCore程序跑在任何有docker的地方>中有说到,这里不在赘述,需要的可以先看下,本文主要介绍 ...

  3. Asp.Net Core入门之配置文件

    ASP.NET Core配置框架已内建支持 JSON.XML 和 INI 配置文件,内存配置(直接通过代码设置值),环境变量配置等方式配置参数. 本文主要和大家讲一下我们在项目中常用的以配置文件的方式 ...

  4. Android_四大组件之ContentProvider

    一.概述 ContentProvider(内容提供者)管理对结构化数据集的访问,它们封装数据,并提供用于定义数据安全性的机制.其他应用,通过Context的ContentResolver对象 作为客户 ...

  5. [Office#PPT]0001.实例剖析-如何制作一个牛B的融资PPT

    一些好公司明明在模式上富有创新性,但却在 pitch 时很保守,而且他们又不缺设计和开发能力.如何设计你的融资演讲稿才会吸引投资人对你投资?投资人 Daniel Eckler给大家贡献了下面这篇技术贴 ...

  6. Python每日一练(1)

    这两天在做Python的每日一练,感觉收获颇丰,所以来记录分享一下,一共做了三个,涉及socket,PIL,pymysql三个库,另外终于开始了Flask框架的学习,后续也会做出一些分析 第一个是一个 ...

  7. Java中的集合类型体系(一)

    Java中的集合类型体系(一) 提问:为什么需要集合? 通常情况下,程序需要根据运行时才知道创建了多少对象.若非程序运行时,而在开发阶段,我们并不知道创建了多少对象,甚至不知道对象的准确类型,为了满足 ...

  8. Parrot os笔记本推荐

    parrot os基于debian开发的,因此同样适用于其他linux:笔记本集显最好,linux直接适用于intel,不用手动切换显卡,大多数linux玩家及pentester不需要高性能显卡,当然 ...

  9. AUTOSAR-标准文档索引

    https://mp.weixin.qq.com/s/6yl5dBP1mSFGVsfE7YRm6w   索引的两种方法: 关键字检索:用Document Search搜索下载,https://www. ...

  10. Java实现 LeetCode 803 打砖块 (DFS)

    803. 打砖块 我们有一组包含1和0的网格:其中1表示砖块. 当且仅当一块砖直接连接到网格的顶部,或者它至少有一块相邻(4 个方向之一)砖块不会掉落时,它才不会落下. 我们会依次消除一些砖块.每当我 ...