最近公司开发了自己的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插件。
然后就是这个效果啦。