给 Jenkins 换一个新皮肤:BlueOcean

Posted DevOps技术栈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给 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:


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

给 Jenkins 换一个新皮肤:BlueOcean


其中最重要的是定义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 生成:

给 Jenkins 换一个新皮肤:BlueOcean

配置完任务后,进入BlueOcean,点击Run:

给 Jenkins 换一个新皮肤:BlueOcean
开始执行pipeline:

给 Jenkins 换一个新皮肤:BlueOcean

执行结束后,pipeline顺利通过:

给 Jenkins 换一个新皮肤:BlueOcean

查看Tests结果(对应pipeline script中junit 'target/surefire-reports/TEST-*.xml'):

给 Jenkins 换一个新皮肤:BlueOcean

查看打包结果(对应pipeline script中archive 'target/*.jar'):

给 Jenkins 换一个新皮肤:BlueOcean
执行过程很流畅,每个步骤可视化清晰展示,如果出现问题,使用者能快速定位流程中哪个阶段出现的问题,将会大大提高CI/CD工作效率。


精彩未完,我们群里见!


给 Jenkins 换一个新皮肤:BlueOcean

给 Jenkins 换一个新皮肤:BlueOcean推荐阅读:





 给 Jenkins 换一个新皮肤:BlueOcean


年轻时偷的懒,迟早是要还的。点亮

以上是关于给 Jenkins 换一个新皮肤:BlueOcean的主要内容,如果未能解决你的问题,请参考以下文章

万物皆可 GAN给马儿换皮肤

苹果键盘怎么换皮肤 苹果手机键盘怎么换肤

WPF 实现换肤功能

C#winform换肤问题:自己写了一个换肤的基类(SkinForm)是从Form继承的,如何能把所有的Form换成新的皮肤

3D模型“换皮肤”有多简单?也就一句话的事

3D模型“换皮肤”有多简单?也就一句话的事