devops-jenkins-Pipeline基础语法
1. jenkins-Pipeline基础语法
1) jenkins-Pipeline总体介绍
• Pipeline,简而言之,就是一套运行与jenkins上的工作流框架,将原本独立运行于单个或多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。
• Pipeline是jenkins2.x最核心的特性,帮助jenkins实现从CI到CD与devops的转变
• https://jenkins.io/2.0/
2) 什么是jenkins Pipeline
• jenkins Pipeline是一组插件,让jenkins可以实现持续交付管道的落地和实施。
• 持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现
• 软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布
• Pipeline提供了一组可扩展的工具 ,通过Pipeline Domain Specific Language(DSL) syntax可以达到Pipeline as Code的目的
• Pipeline as code: jenkinsfile存储在项目的源代码库
3) 为什么要用Pipeline
• 代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其CD流程
• 可持续性:jenkins重启或者中断后都不会影响Pipeline job
• 停顿:Pipeline可以选择停止并等待人工输入或批准,然后在继续Pipeline运行。
• 多功能:Pipeline支持现实世界的复杂CD要求,包括fork/join子进程,循环和并行执行工作的能力。
可扩展:Pipeline插件支持其DSL的自定义扩展以及与其他插件集成的多个选项
4) pipeline 基础语法
• Stage
• 阶段,一个pipeline可以划分为若干个Stage,每个Stage代表一组操作,列如:“Build”、“Test”、“Deploy”。
• 注意,Stage是一个逻辑分组的慨念,可以跨多个node
• Node
• 节点,一个node就是一jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行环境。
• Step
• 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个docker镜像,由各类jenkins Plugin提供,例如:sh 'make'
5) jenkins Pipeline入门
• pipeline脚本是由Groovy语言实现
• 无需专门学习Groovy
• Pipeline支持两种语法
• Declarative声明式(在Pipeline plugin 2.5中引入)
• Scripted Pipeline脚本式
• 如何创建基本的Pipeline
• 直接在jenkins Web UI网页界面中输入脚本
• 通过创建一个jenkinsfile可以检入项目的源代码管理库
• 最佳实践
• 通常推荐在jenkins中直接从源代码控制(SCM)中载入jenkinsfile Pipeline
6) jenkins编写简单pipeline脚本
node {
stage('拉取代码'){
echo "拉取代码"
}
stage('代码编译'){
echo "代码编译"
}
stage('部署发布测试'){
echo "部署发布测试"
}
}
(1) 构建一个Pipeline-demo流水线

(2) 创建Pipeline-demo流水线

(3) pipeline脚本编写

(4) 然后保存,进行构建

(5) 构建效果

devops-jenkins-Pipeline基础语法的更多相关文章
- Kubernetes DevOps: Jenkins Pipeline (流水线)
要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式.Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于 ...
- Declarative Pipeline 基础语法
Declarative Pipeline(声明式)核心概念 核心概念用来组织pipeline的运行流程 1.pipeline :声明其内容为一个声明式的pipeline脚本 2.agent:执行节点( ...
- Jenkins pipeline:pipeline 语法详解
jenkins pipeline 总体介绍 pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. ...
- Jenkins pipeline 语法详解
原文地址http://www.cnblogs.com/fengjian2016/p/8227532.html pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节 ...
- Jenkins pipeline:pipeline 使用之语法详解
一.引言 Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature. 简单的来说,就是把Jenkins1.0版本中,Project中 ...
- 转~Jenkins pipeline:pipeline 使用之语法详解
一.引言 Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature. 简单的来说,就是把Jenkins1.0版本中,Project中 ...
- jenkins pipeline语法
目录 一.声明式 二.脚本式 基本 判断 异常处理 Steps node withEnv 一.声明式 声明式Pipeline必须包含在名为pipeline的语句块中,典型的声明式Pipeline语法如 ...
- 8.Jenkins进阶之流水线pipeline基础使用实践(1)
目录一览: 0x01 基础实践 (1) Maven 构建之 Pipeline Script (2) Maven 构建之 Pipeline Script from SCM (3) Jenkins pi ...
- devops持续集成,Centos7.6下gitlab+jenkins(pipeline)实现代码自动上线
持续集成 gitlab+jenkins(pipeline)实现代码自动上线 环境准备:Centos7.6版本ip:192.168.0.13 主机名:gitip:192.168.0.23 主机名:jen ...
随机推荐
- 保存vuex状态刷新不消失
写在App.vue中,所有页面共享此方法 export default { name: "app", components: {}, created() { // 页面每次刷新加载 ...
- blazemeter和jmeter
前言 咸鱼的生活总是那么短暂,年轻还是要多学习 blazemeter BlazeMeter是一款可以记录所有HTTP流量并在10分钟内创建一个负载测试并且与Apache JMeter兼容的chrome ...
- Apache Nginx Tomcat
Tomcat Tomcat:动态解析容器 处理动态请求,是编译JSP/Servlet的容器 区别: 严格意义上来说 Apache和nginx应该叫做HTTP Server tomcat是一个Appli ...
- leetcode刷题-59螺旋矩阵2
题目 给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 思路 与螺旋矩阵题完全一致 实现 class Solution: def generateM ...
- 还不懂Redis?看完这个故事就明白了!
我是Redis 你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上. 说起我的诞生,跟关系数据库MySQL还挺有渊源的. 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发 ...
- Java源码之HashMap的hash篇
提到哈希,我们脑袋中立马就会闪过一个方法,就是hashCode(),没错.就是这个! 我们知道HashMap是通过 数组+链表 的结构进行数据存储的,有数组就会有索引,而HashMap内的数据要存储在 ...
- Docker添加TLS认证修复2375端口暴露引发的漏洞
#### 1.环境准备 ```bash# 查看Docker服务器主机名hostnamectl``` Linux 文件与目录管理
一.Linux处理目录的常用命令 ls : 列出目录 cd :切换目录 pwd :显示目前的目录 mkdir :创建一个新的目录 rmdir :删除一个空的目录 cp : 复制文件或目录 rm : 移 ...
- MiniJpegDecoder使用介绍
承接昨天写的<JPEG软解码实现介绍>,今天介绍其使用方法和一些细节说明. 1.仓库下已经包含了几个jpeg文件,以方便直接校验. 2.使用命令分为两种模式. 一种是直接解码为yuv文件, ...