最近公司开发了自己的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. ScrollView控件实现屏幕滚动

    滚动视图是指当拥有很多内容,屏幕显示不完全时,需要通过滚动来显示完整的视图 ScrollView的种类: (1)水平滚动视图:HorizontalScrollView (2)垂直滚动视图:Scroll ...

  2. UIView--震动效果

    //震动效果- (void)shake:(UIView *)view{ CGRect frame = view.frame; CAKeyframeAnimation *shakeAnimation = ...

  3. self.automaticallyAdjustsScrollViewInsets

    导航视图内Push进来的以“TableView”(没有ScrollView截图,就将就一下)为主View的视图,本来我们的cell是放在(0,0)的位置上的,但是考虑到导航栏.状态栏会挡住后面的主视图 ...

  4. iOS 单例模式范例

    The singleton pattern is useful for creating objects that are shared across the entire application, ...

  5. [Note] Software Testing

    Mocking: Difference between error and failure: TDD: BDD:

  6. 转:Maven常用命令

    转:Maven常用命令 Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1 ...

  7. 用Struts2拦截器实现文件下载前的验证

    思想:用户登录后,将登录信息存储在session中,每次需要验证时,取出来验证 缺陷:没有实现多用户登录时的情况 实行步骤: 登录信息的存储: ActionContext actionContext ...

  8. bzoj4511:[Usaco2016 Jan]Subsequences Summing to Sevens

    题目大意:给个序列,求最长的连续子序列使其为7的倍数 又是一道令人欢喜的不用怎么用脑的水题.. 边读入,边计算前缀和 分别保存前缀和%7结果为1,2,3,4,5,6的第一次的位置 然后减一减就知道长度 ...

  9. oracle PL/SQL高级特性

    触发器:存放在数据库中,并被隐含执行的存储过程. 由触发事件,触发条件,触发操作组成. DML触发器:指定触发器时机(before or after),触发事件(insert  , delete, u ...

  10. NOIP2014初赛分数线及金华上线名单

    NOIP2014初赛分数线及金华上线名单 分数线:提高组81.5,普及组93 这分数线还能再高些吗?悲催的浙江. 金华上线普及组名单: 地市 姓名 学校 年级 参赛语种 成绩 金华 成浩鹏 稠州丹溪校 ...