k8s jenkins pipeline 多分支发布_给 Jenkins 换一个新皮肤:BlueOcean

BlueOcean是什么

Jenkins是一款Java开发的跨平台持续集成和持续发布的开源项目,它具有如下特征:
  • 安装及迁移方便:安装直接部署war包,迁移只需替换JENKINS_HOME目录。
  • 配置方便:可视化后台操作。
  • 丰富的插件生态圈:比如git, junit, jacoco等。
  • 可扩展:自定义插件。
  • 分布式:支持Master-Slave。
Jenkins已经作为各大公司进行CI/CD的首选工具。Jenkins UI从2006年-2016年,几乎没有变化。为了适应Jenkins Pipeline 和 Freestyle jobs任务,Jenkins推出了BlueOcean UI,其目的就是让程序员执行任务时,降低工作流程的复杂度和提升工作流程的清晰度,它具有如下特征:
  • 清晰的可视化,对CI/CD pipelines, 可以快速直观的观察项目pipeline状态。
  • pipeline可编辑(开发中),可视化编辑pipeline,现在只能通过配置中Pipeline的Pipeline script编辑。
  • pipeline精确度,通过UI直接介入pipeline的中间问题。
  • 集成代码分支和pull请求。

BlueOcean使用

BlueOcean是以插件的形式存在,需要Jenkins版本2.7以上。安装步骤:系统管理->管理插件->可选插件,选择BlueOcean->restart安装完毕后,BlueOcean入口在菜单栏居中: "Open Blue Ocean",进去后可以看到全新的UI:

43b33f3d08c674e097e7e92c46e5e152.png

我们新建一个Pipeline项目,配置如下:e367cfc90494c67e5a199f1661f34065.png

其中最重要的是定义pipeline script:

node { stage('Clone Code') { // for display purposes // Get some code from a GitHub repository git 'https://github.com/trautonen/coveralls-maven-plugin.git/' } stage('Code Analysis') {sh "mvn clean"sh "infer -- mvn compile" } stage('Testing') {sh "mvn test" junit 'target/surefire-reports/TEST-*.xml' } stage('Package') {sh "'mvn' -Dmaven.test.skip=true package" archive 'target/*.jar' } stage('Deploy') {echo 'pipeline success' }}

pipeline script定义了整个Pipeline的流程,stage('Clone Code')中Clone Code就是pipeline中的第一步,依次类推。具体的语法可以参考 Pipeline Syntax 生成:3bf581d4cb179aea705314a6542b1800.png配置完任务后,进入BlueOcean,点击Run:76800aea2a74c628751c65cf566836a6.png开始执行pipeline:1fe0bc46184f3433ac457ac4354eaddf.png执行结束后,pipeline顺利通过:8ef0069076126e6644606d7aa6af71d2.png查看Tests结果(对应pipeline script中junit 'target/surefire-reports/TEST-*.xml'):1ef0a436b4df51068fa8b9baa0d37445.png查看打包结果(对应pipeline script中archive 'target/*.jar'):0ea97f79653d8106dab5c1e61541e1f5.png执行过程很流畅,每个步骤可视化清晰展示,如果出现问题,使用者能快速定位流程中哪个阶段出现的问题,将会大大提高CI/CD工作效率。

精彩未完,我们群里见!

0f6a419bda7bfc8087b012e12c04c5b3.png

6f5d1f45a865dffbbcf001de2c73f6e6.gif推荐阅读:

Linux服务器上监控网络带宽工具大全

基于 Spinnaker 的 K8S 灰度发布

运维专家写给年轻人的 6 条人生忠告

一张图解析:DevOps !

6 个JVM性能监控、调优工具使用详解

优秀架构师必须掌握的 4 种架构思维

让运维简单高效,轻松搞定运维管理平台

基于Kubernetes的DevOps流水线实战 6949f978ff6e6c6e4f64234f45afb5c0.png

9b57fe46f8ef0ab107e585356abf926a.png

年轻时偷的懒,迟早是要还的。点亮4ac841207ae532973471746aa16db3cb.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux文件目录解释

/根目录/bin存放用户使用的命令,二进制的可执行文件/boot开机启动相关的文件/dev系统中必要的设备文件/etc系统配置文件/home普通用户家目录,在目录下有与普通用户同名的目录rootroot用户的家目录/lib,/lib64库文件/media可以热插拔的设备的挂载点/mnt临…

python读取大文件的坑_如何在Python中读取大文件的特定部分

Given a large file (hundreds of MB) how would I use Python to quickly read the content between a specific start and end index within the file? Essentially, Im looking for a more efficient way of doing: open(filename).read()[start_index:end_index] 解决方案…

POSIX与程序可移植性

目录 一、系统调用和库函数 1、系统调用 2、库函数 二、程序的可移植性及其本质 三、系统开销 四、POSIX 1、定义 2、历史 3、谁来遵循 一、系统调用和库函数 1、系统调用 系统调用是通向操作系统本身的接口,是面向底层硬件的。通过系统调用,可…

144显示器只有60_你知道显示器60Hz和144Hz的刷新率差别有多大吗?你没有用过吗?...

不知什么时候开始,高刷新率成为了显示器的一个重要卖点,成为了电竞游戏显示器的标配,越来越多的人在购买显示器时,开始抛弃早已定格60Hz刷新率,逐渐向120Hz刷/144Hz刷乃至更高的刷新率上靠拢。那么显示器60Hz和144Hz刷…

linux用户权限不够解析及解决方案

目录 一、用户账户:普通账户、超级账户(root) 二、组账户:私有组、标准组 三、linux下账户配置文件:passwd、shadow、group、gshadow。 四、文件权限 1、权限分类 2、文件权限含义 3、目录权限含义 四、权限不够…

chmod -R 644 dir04 报错:权限不够

错误截图 错误分析 1、分析当前用户有无对dir04的操作权限 有,dir04的所有者为wlh,wlh的权限为rwx。 2、分析-R是否可以使用空文件夹和文件,而非空文件夹不可以 可能是这样,但是尝试chmod -R 777 dir04成功。所以与非空无关&am…

云桌面部署_东胜区检察院检察工作网统一业务系统2.0云桌面终端全面部署完成...

按照最高检顶层设计和自治区院、市院关于做好统一业务系统2.0版试点应用工作的相关要求,东胜区人民检察院党组高度重视,高标准、高效率、高质量开展部署准备工作,着力保障统一业务应用2.0系统上线后稳、准、快的运行。为按时按要求完成任务&a…

python处理表格数据教程_python利用Excel读取和存储测试数据完成接口自动化教程...

http_request2.py用于发起http请求 #读取多条测试用例 #1、导入requests模块 import requests #从 class_12_19.do_excel1导入read_data函数 from do_excel2 import read_data from do_excel2 import write_data from do_excel2 import count_case #定义http请求函数 COOKIENon…

linux递归参数-R(r)和-p的区别

在linux系统中创建、复制、删除目录或文件时,常常会用到递归参数。常用的递归参数有-p,-r,-P等。为方便初学者学习、分辨与记忆,将其分类整理如下。 一般常用到递归的命令有:mkdir、cp、rm、ls、grep、chmod、chown等。 而mv命令没有递归参…

html table设置行高_字号与行高

1. 什么是字号与行高什么是字号大小?字号大小就是字体的高度,例如设置字号为50px,那么它的高度如下图所示:什么是行距呢?如下图所示:其中半行距 (lineHeight – fontSize) / 2。但是实际上,fon…

linux 用户名为没有名字 报错:cannot find name for user ID

经过一系列用户权限更改后,切换到普通用户,失败,报错如下: 解决方案:这个问题是因为普通用户没有权限读取/etc/passwd和/etc/group文件造成,添加权限即可。 转载自:id: cannot find name for us…

xposed hook 静态函数_浅谈 Xposed 新概念【模块作用域】

众所周知,Xposed 是一个系统级别的软件框架,它与 Cydia Substrate 不同,Xposed 仅可 hook app_process 中的 java 函数,不过对于大部分的 Android 应用来说已经足够了;它所提供的 API 可以供模块开发者在不修改目标应用…

adc0808温度换算公式_温湿度传感器的三种模拟量换算关系

气候的变化常常会导致空气当中的湿度以及温度随之而产生相应的变化,如果想及时感知空气中温湿度的变化,那就需要温湿度传感器。在日常生活中,温湿度传感器种类有很多,按照数据上传方式分有RS485型温湿度传感器、模拟量型温湿度传感…

共阳数码管段码表_简单共阴极数码管电路图大全

共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如下图所示。图中的8个LED分别与上面那个图中的A~DP各段相对应,通过控制各个LED的亮灭来显示数字。判断公阴极和公阳极找公共共阴和公共共…

linux find 报错路径必须在表达式之前

执行 find -name yum*,查看当前文件夹下以yum开头的文件。 报错路径必须在表达式之前,如下图所示: 解决方案: 会出现“find: 路径必须在表达式之前”的错误提示。解决的方法有两种 使用转义符把*转义,即 yum\*用引号引起来 &am…

css 动态生成圆形区域内扇形个数_CSS实用技巧总结

❝作者:幻灵尔依 (授权原创)https://juejin.im/post/5e0fef935188253a624a6a72❞《css揭秘》中讲了47个css技巧,其中有很多日常编码中并不会用到,本文除了将书中部分实用技巧罗列出来之外,还尝试用帮助读者搞明白background、anim…

python怎么返回上一行代码_一行Python代码能做出哪些神器的事情

原标题:一行Python代码能做出哪些神器的事情 (1)一行代码启动一个Web服务 python -m SimpleHTTPServer 8080 # python2 python3 -m http.server 8080 # python3 (2)一行代码实现变量值互换a, b 1, 2; a, b b, a &…

c++ string 字符_C/C++知识分享:C++标准库之 string 类型,各种运算全部掌握

简介:C标准库提供的类型:string。长度可变的字符串,操作简单仅为包含个人常用函数头文件string 类型与其它的标准库类型相同,都需要包含对应的头文件string 类型的定义和初始化string 类型的函数(1)字符串的赋值输入及…

为什么机油使用后变红_水泥固化剂的使用原理是什么,涂洒后时间为什么要足够长?...

水泥固化剂由于具有提高水磨地面的强度、硬度、使地面不起灰,抗压强度、抗腐蚀的能力,广泛应用于现代工厂、仓储、停车场、商场、超市的装饰材料。那么,水泥固化剂涂洒后时间为什么足够长呢?下面听听好牛环境科技的小编的意见吧&a…

CentOS虚拟机访问外部网络

这里写自定义目录标题虚拟机无网络测试解决方案1、设置VM(关闭虚拟机)2、查看当前IP、网关、子网掩码3、设置虚拟机IP、网卡、子网掩码虚拟机无网络测试 CentOS使用yum下载gcc时报错:cannot find a valid baseurl for repo:base/7/x86_64,百…