什么是BlueOcean?

BlueOcean重新考虑了Jenkins的用户体验。BlueOcean由Jenkins Pipeline设计,但仍然兼容自由式工作,减少了团队成员的混乱,增加了清晰度。

  • 连续交付(CD)Pipeline的复杂可视化,允许快速和直观地了解Pipeline的状态。
  • Pipeline编辑器通过引导用户直观和可视化的过程创建Pipeline,使创建Pipeline平易近人。
  • 个性化,以适应团队每个成员的角色需求。
  • 需要干预和/或出现问题时确定精度。BlueOcean显示了Pipeline需要注意的地方,便于异常处理和提高生产率。
  • 用于分支和拉取请求的本地集成可以在GitHub和Bitbucket中与其他人进行代码协作时最大限度提高开发人员的生产力。

BlueOceans使用

依赖插件

该插件安装完成后,在所要构建的任务中就会出现BlueOcean选择,该项目是基于上篇博客Pipeline项目,传送门:https://www.cnblogs.com/feng0815/p/14287056.html



点击打开 Blue Ocean



运行



实时展示进度

并行运行

以上的运行都是串行的,必须上个流程结束才能运行下个流程,这样就会造成执行效率较低。

对于没相互依赖的流程,我们可以进行并行运行

修改执行脚本

pipeline{
agent {
label 'master'
} stages{
stage('获取源码') {
parallel {
stage('安卓程序源码') {
steps {
sh 'mkdir -p AndroidSampleApp'
dir("AndroidSampleApp"){
git branch:'master', url:'https://gitee.com/sfboy/AndroidSampleApp.git'
}
}
} stage('自动测试程序源码') {
steps {
sh 'mkdir -p iAppBVT_Python'
dir("iAppBVT_Python"){
git branch:'master', url:'https://gitee.com/sfboy/iAppBVT_Python.git'
}
}
}
}
} stage('安卓编译打包') {
steps {
sh '''
. ~/.bash_profile
cd AndroidSampleApp
sh gradlew clean assembleDebug
'''
}
} stage('测试与发布') {
parallel {
stage('发布测试包') {
steps {
archiveArtifacts artifacts: 'AndroidSampleApp/app/build/outputs/apk/debug/app-debug.apk'
}
} stage('自动化'){
stages{
stage('部署') {
steps {
sh '''
. ~/.bash_profile
cd AndroidSampleApp
apk=app/build/outputs/apk/debug/app-debug.apk
{
#try: 卸载现有的安卓app
adb uninstall com.appsflyer.androidsampleapp
} || {
#catch
echo 'no com.appsflyer.androidsampleapp package'
}
sleep 5 #安装安卓app
adb install $apk
'''
}
} stage('自动测试') {
steps {
sh '''
. ~/.bash_profile cd iAppBVT_Python #更新python依赖库
pip3 install -r requirements.txt #运行自动化测试
pytest -sv test/bvt_test.py --tc-file iAppBVT_Python.json --tc-format json
'''
}
}
}
}
}
} stage('通知邮件') {
steps {
emailext body: '$DEFAULT_CONTENT', recipientProviders: [[$class: 'RequesterRecipientProvider']], subject: '$DEFAULT_SUBJECT'
}
}
}
}

使用Jenkins+Blue Ocean 持构建自动化部署之安卓源码打包、测试、邮件通知的更多相关文章

  1. 使用Jenkins+Pipline 持构建自动化部署之安卓源码打包、测试、邮件通知

    一.引言 Jenkins 2.x的精髓是Pipeline as Code,那为什么要用Pipeline呢?jenkins1.0也能实现自动化构建,但Pipeline能够将以前project中的配置信息 ...

  2. Jenkins+Ant/maven+Svn实现自动化部署,编译,运行,测试结果自动邮件通知

    Jenkins+Ant+Svn实现自动化部署,编译,运行,测试结果自动邮件通知

  3. jenkins+maven+Tomcat+shell构建自动化部署

    https://yq.aliyun.com/articles/685931 1.官网下载war包:jenkins本质上就是一个web应用,直接下载jenkins的war包通过tomcat运行即可.ht ...

  4. kubernetes实战-交付dubbo服务到k8s集群(四)使用blue ocean流水线构建dubbo-demo-service

    使用jenkins创建一个新的项目:dubbo-demo,选择流水线构建 勾选保存构建历史和指定项目为参数化构建项目: 添加构建参数:以下配置项,是王导根据多年生产经验总结出来的甩锅大法: 除了bas ...

  5. 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本

    持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...

  6. AWS DevOps – 配合Jenkins和CodeDeploy实现代码自动化部署

    AWS DevOps – 配合Jenkins和CodeDeploy实现代码自动化部署 Amazon ElastiCache 连接至 Redis 节点 通过 AWS Command Line Inter ...

  7. jenkins结合脚本实现代码自动化部署及一键回滚至上一版本

    持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...

  8. hexo-next-travis-ci 构建自动化部署博客

    构建效果如上面视频所示,如果浏览器不支持请戳一下链接: 自动化部署构建效果 .只要将编辑的 .md 文件推送到 github 上,博客网站就可以更新这篇文章. 其实差不多半年前也构建过一次,由于安装 ...

  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(2)-easyui构建前端页面框架[附源码]

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(2)-easyui构建前端页面框架[附源码] 开始,我们有了一系列的解决方案,我们将动手搭建新系统吧. 用 ...

随机推荐

  1. git 远端版本回退

    情景:本地更改推送远端后,想要回退到自己推送之前的某个版本. 比如想回退的分支为 test 分支. 风险:远端回退到某一版本后,之后的所有推送都没了(对应的日志记录也没了).如果是团队开发,不仅自己推 ...

  2. 如何写好商用PPT,计算机行业PPT模板

    如何写好商用PPT,这个问题如果从0开始写那确实需要花费一番功夫,今天我不是来教你如何做PPT,而是教你如何从一个小白如何快速能套用模板,从而做出一个自己行业相关的模板,比如计算机行业PPT模板,奶茶 ...

  3. STL——容器(Set & multiset)的迭代器

    1.set.insert(elem);     //在容器中插入元素. 2.set.begin();         //返回容器中第一个数据的迭代器. 3.set.end();          / ...

  4. 开源抓包工具PowerSniff(支持lua,c语言作为脚本实时分析)

    做这个程序的意图是wireshark插件编写复杂(虽然也支持lua),而轻量级的工具如smartsniff,minisniff不支持插件化数据分析,各种工具用下来或多或少不顺手.以前写的外挂也都是手工 ...

  5. 深入浅出java的Map

    HashMap的组成 首先了解数组和链表两个数据结构 1.数组 寻址容易,插入和删除元素困难 数组由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间. 但正因为连续存储, ...

  6. 精尽Spring MVC源码分析 - HandlerMapping 组件(三)之 AbstractHandlerMethodMapping

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  7. mysqldump备份数据

    create database test; use test; create table test(id int,name char(8)); insert into test values(1,'p ...

  8. Yii2 给表添加字段后报错 Getting unknown property

    手动在数据库中添加了image字段 然后再模型类Image中的 rule方法也将image的验证规则放进去了 但是在 $model = new Image 后,使用$model->iamge 还 ...

  9. 2020年“感恩杯”台州学院第十三届大学生程序设计竞赛D、H、I题解(后续补充)

    D题:小z与他的袜子 描述 小z每天会穿一双新袜子. 开始他的衣柜里有n双袜子,袜子会从1-n进行编号.每天早上他都会从衣柜里拿编号最小的袜子来穿.每天晚上他会把今天穿的袜子扔进篮子里,如果篮子里有n ...

  10. rocketMq 消息偏移量 Offset

    消息偏移量 Offset queue0 offset 0   0-20  offset 4  20-40 纠错:每条消息的tag对应的HashCode. queue1 offset 1  0-20   ...