最近公司开发了自己的app,研发过程中对于测试人员来说,经常会像开发的人员询问,有没有最新的包啊(apk打包后的新版本),以免你测试的时候,提交了一些缺陷,实际上人家已经解决了。当然你也可以说你们公司开发流程也太乱了。发布新版本不是应该按时,按计划的执行测试么。

实际情况确实是一天多个版本 或者好几天给一个版本。(敏捷测试推行,但是推行的不是很到位时候就这样)

这就有了一个痛点,我们测试人员能不能直接打包apk,并且把保持每天的版本都是最新的。

以安卓版本为例,ios,暂没成功配置。

需求是我们希望能够扫一扫就能安装到手机,不用找开发的要apk 然后数据线什么的。。

无意中在testhome 看到一个帖子正好解决了这个问题。https://testerhome.com/topics/5285(主要内容看这帖子)

于是乎我就照着做了,真的挺不错。

首先我们先讲一下原理,jenkins 是一个持续集成的工具。能够帮助我们从服务器上拉取最新的代码,然后执行一些脚本命令,执行后,反馈结果。这一切都可以定时 按计划的进行。

这个需求核心的技巧就在如何打包成apk 并上传到服务器,然后返回我们一个下载地址(二维码)

也就是Jenkins build 这一步的命令。这里我要分享的是fir.im平台。这是一个内测应用平台。

用命令行就可以实现 打包 上传apk 并返回一个二维码。

我也只是补充一下这一段内容,因为文中提到的帖子其他内容很详细了。

fir.im平台有个自己的工具https://github.com/FIRHQ/fir-cli,这个是基于ruby语言写的。所以你需要配置ruby环境。

ruby装好后 gem install fir-cli 类似python 中pip install 。当然你要保证你的ruby和gem版本为新版本。另外由于大家都懂的原因。你可能需要一个镜像。http://gems.ruby-china.org/ 替换服务器地址后。下载才能继续执行。

安装好之后 这个命令就可以打包并上传了。详情见这里https://github.com/FIRHQ/fir-cli/blob/master/doc/build_apk.md

Token 是一个fir .im 平台识别的你身份信息的字符串。注册并登录后就可以获取自己账户的token了

其实本质上 fir只是一层封装,本质上还是用的gradle去打包apk。所以一旦报错,按提示一步步解决,多半是sdk android的包不全,或者是gradle 配置不正确。

执行

最后返回的图片

想办法用脚本放到服务器对应的位子就可以啦啦。 set build description 是个jenkins插件。

然后就是这个效果啦。

如何用jenkins实现自动化构建新版本和二维码下载的更多相关文章

  1. jenkins 安卓打包生成二维码下载

    先来张图看看吧 构思 jenkins gradle 打包apk文件,python myqr 模块生成二维码 放入nginx 访问图片的路径,apk安装包放在 nginx 下载目录. 环境 centos ...

  2. 巧用 CSS 构建渐变彩色二维码

    今日,群里有个很有意思的问题,问我如何实现一个彩色的,带渐变的二维码,像是这样: 很有意思的问题,我们在百度谷歌,搜索 qrcode,能搜到非常多在线制作二维码的工具,它们其中一些也会带有制作渐变二维 ...

  3. 如何用C代码生成二维码

    如何用C代码生成二维码 当下因微信和支付宝等手机应用广泛使用,而基于二维码/一维条码的移动支付,也借助手机移动端席卷全国,使得越来越多的人知道有"二维码"这么一种东西. 对于普通用 ...

  4. Jenkins配置自动化构建

    转自: http://blog.sina.com.cn/s/articlelist_3053349671_14_1.html Jenkins 简介和安装(一) (2014-12-02 21:18:13 ...

  5. 如何用.NET生成二维码?

    二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,国外对二维码技术的研究始于20世纪80年代末,在二维码符号表示技术研究方面已研制出多种码制,常见的有P ...

  6. Jenkins生成APK链接的二维码

    Window环境 1.下载安装Python如3.7.5版本,安装Python到电脑上如C:\Python37,将C:\Python37,C:\Python37\Scripts添加到Path环境变量中 ...

  7. 使用Jenkins配置自动化构建

    持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了. 为了实现这个要求,我选择了Jenkins. 从http://mirrors.jenkins-ci.org/windo ...

  8. 用Jenkins配置自动化构建

     公司培训内容 -------------->记一笔 dubbo 微服务soadiamond-server 配置中心kafka rocketmq消息队列cas-server 单点登录spring ...

  9. 使用Jenkins+gitlab自动化构建时排除分支

    我们的目的是gitlab上的代码有变动时会自动向Jenkins发送web钩子请求,触发指定的动作: 但默认情况下,所有分支(如测试环境和预生产)的代码有变动时都会触发,此时可以在Jenkins的项目设 ...

随机推荐

  1. JavaScript闭包深入解析

    for (var i=1; i<=5; i++) { setTimeout( function timer() { console.log( i ); }, i*1000 ); } --上面这段 ...

  2. Python爬虫学习(1): urllib的使用

    1.urllib.urlopen 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作 In [1]: import urllibIn [2]: file = urllib.urlo ...

  3. pandas 学习(2): pandas 数据结构之DataFrame

    DataFrame 类型类似于数据库表结构的数据结构,其含有行索引和列索引,可以将DataFrame 想成是由相同索引的Series组成的Dict类型.在其底层是通过二维以及一维的数据块实现. 1.  ...

  4. POJ3279 Fliptile(暴力)

    有一种暴力是这样的,枚举一边,确定另一边. 这一题是这么解的,枚举第一行所有翻转情况,然后剩下几行其实是确定的,因为前i行翻转方式确定后只能通过第i+1行的翻转来改变第i行的状态,于是依次模拟求出剩下 ...

  5. ACM: NBUT 1105 多连块拼图 - 水题 - 模拟

    NBUT 1105  多连块拼图 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:  Practice  Appoint ...

  6. Spark 自定义累加变量(Accmulator)AccumulatorParam

    1.创建一个累加变量 public <T> Accumulator<T> accumulator(T initialValue, AccumulatorParam<T&g ...

  7. NOIP2014 uoj20解方程 数论(同余)

    又是数论题 Q&A Q:你TM做数论上瘾了吗 A:没办法我数论太差了,得多练(shui)啊 题意 题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, ...

  8. 【Linux】vi 命令

    基本上 vi/vim 共分为三种模式,分别是一般模式.编辑模式与指令列命令模式. 这三种模式的作用分别是:     一般模式:以 vi 打开一个档案就直接进入一般模式了(这是默认的模式).在这个模式中 ...

  9. python 反射器

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @author: zengchunyun ""& ...

  10. C#对图片的操作

    1.根据图片路径返回字节 public static byte[] getImageByte(string imagePath) { FileStream files = new FileStream ...