最近公司开发了自己的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. java.lang.ClassNotFoundException: org.apache.catalina.startup.VersionLoggerListener

    解决办法 找到Tomcat配置文件server.xml   apache-tomcat-7.0.57/conf 将<Listener className="org.apache.cat ...

  2. 读写注册表 registrykey 创建删除

    namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { Initialize ...

  3. Android测试之 APK重签名方法

    方法一:命令行重签名 D:\>keytool -helpkeytool 用法: -certreq [-v] [-protected] [-alias <别名>] [-sigalg & ...

  4. Leetcode Edit Distance

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...

  5. PHP-Redis扩展使用手册(一)

    //初始化redis实例 $redis = new Redis(); /* connect . open 链接redis * @param string host redis服务器地址 * @para ...

  6. cocos2d-x初步了解

    1.渲染 2.帧率(FPS) 超过75一般就不容易察觉到有明显的流畅度提升 >50 非常好! 30~40  一般, 20~30  及格,有点勉强. 3.渲染驱动游戏 事件驱动游戏 4.cocos ...

  7. info.plist、pch和四大对象(UIApplication、UIApplicationDelegate、UIWindow、UIViewController)

    本文目录 1.程序配置文件info.plist,全局头文件pch 2.应用程序对象UIApplication介绍 3.UIApplicationDelegate介绍,程序启动过程 4.UIWindow ...

  8. JS正则表达式将url转成json格式

    var url = location.search.substr(1); param = {}; console.log(url); url.replace(/([^?&]+)=([^?&am ...

  9. [IOS]译Size Classes with Xcode 6: One Storyboard for all Sizes

    Size Classes with Xcode 6: One Storyboard for all Sizes 为所有的尺寸准备一个Storyboard 我最喜欢的Xcode6的特性是新的size c ...

  10. win10启动无法进入桌面

    情况: windows启动显示欢迎界面 无法进入桌面(可以win+E进入资源管理器,可以ctl+alt+delete进入任务管理器) 重启依然无法进入 解决: 重启 按f8 进入安全模式 再次重启OK ...