持续集成 Jenkins BlueOcean 初探
2017-06-12 15:31
357 查看
1. 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请求。
2. BlueOcean使用
BlueOcean是以插件的形式存在,需要Jenkins版本2.7.*以上,目前还是beta版本,功能不是很完善。安装步骤:
系统管理->管理插件->可选插件,选择BlueOcean beta->restart。
安装完毕后,BlueOcean入口在菜单栏居中: "Open Blue Ocean",进去后可以看到全新的UI:
我们新建一个Pipeline项目,配置如下:
其中最重要的是定义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中的第一步,依次类推。
每一步做具体任务,比如
git 'https://github.com/trautonen/coveralls-maven-plugin.git/'就是去拉源码,具体的语法可以参考Pipeline Syntax:
配置完任务后,进入BlueOcean,点击Run:
开始执行pipeline:
执行结束后,pipeline顺利通过:
查看Tests结果(对应pipeline script中
junit 'target/surefire-reports/TEST-*.xml'):
查看打包结果(对应pipeline script中
archive 'target/*.jar'):
执行过程很流畅,每个步骤通过清晰的可视化过程,使用者能快速的定位流程中的问题。
3.BlueOcean Roadmap
现在BlueOcean还是beta版本,支持的功能比较局限,比如不支持参数化,不支持指定具体slave执行等等,我们看下BlueOcean Roadmap:相信Jenkins BlueOcean功能会越来越完善,而使用Jenkins BlueOcean会大大提高CI/CD工作效率。
相关文章推荐
- Jenkins2 插件 Pipeline+BlueOcean 实现持续交付的初次演练
- 用MSBuild和Jenkins搭建持续集成环境(2)
- 新手搭建Jenkins进行持续集成
- Jenkins+Maven+SVN快速搭建持续集成环境(转)
- Jenkins+Ant+Jmeter搭建持续集成的接口测试平台
- iOS进阶5--使用Jenkins搭建持续集成打包平台
- 持续集成:Jmeter+Maven+Jenkins自动化框架搭建(二):创建Maven工程及相应问题的解决方法
- .NET项目持续集成实践 - Jenkins
- 持续集成:Jmeter+Maven+Jenkins自动化框架搭建(四):GitLab代码更新触发Jenkins自动构建
- 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
- Jenkins+Maven+SVN快速搭建持续集成环境(转)
- Jenkins持续集成企业实战系列之Jenkins插件下载及邮件配置-----05
- Jmeter+Ant+Jenkins搭建持续集成的接口测试(推荐 Mark)
- Jenkins 持续集成实现 Android 自动化打包
- jenkins持续集成部署
- Jenkins持续集成工具
- Jenkins +git +python 进行持续集成进行接口测试(接口测试jenkins持续集成篇)
- Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记
- Jenkins - 持续集成环境搭建【转】
- 使用Jenkins搭建iOS/Android持续集成打包平台