• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

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

python 尘世风 1623次浏览 0个评论

什么是BlueOcean?

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

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

BlueOceans使用

依赖插件
使用Jenkins+Blue Ocean 持续构建自动化部署之安卓源码打包、测试、邮件通知

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

使用Jenkins+Blue Ocean 持续构建自动化部署之安卓源码打包、测试、邮件通知
点击打开 Blue Ocean
使用Jenkins+Blue Ocean 持续构建自动化部署之安卓源码打包、测试、邮件通知
运行
使用Jenkins+Blue Ocean 持续构建自动化部署之安卓源码打包、测试、邮件通知
实时展示进度
使用Jenkins+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 持续构建自动化部署之安卓源码打包、测试、邮件通知


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明使用Jenkins+Blue Ocean 持续构建自动化部署之安卓源码打包、测试、邮件通知
喜欢 (0)

您必须 登录 才能发表评论!

加载中……