文档章节

iOS 自动构建套件 - flow.ci + fir.im + Coding

风起云飞fir_im
 风起云飞fir_im
发布于 2017/05/08 12:11
字数 1115
阅读 28
收藏 0

编者按:本文转载自 flow.ci 用户 GitHub@mzying2013 的实践分享,原文链接这里


前言

相信很多最开始接触自动构建都是从 Jenkins 开始的。都是纯手工搭建,本地代码创库也是 Gitblit 搭建的。基本上每次换工作,都需要重新搭建一遍,实在心累。期间踩坑无数,暂且不表。接触到 flow.ci 还是因为之前一直在用他们的 APP 发布平台服务 fir.im 。本文是我对 flow.ci 的一些体验,期望可以帮助 iOSer 快速上手。

准备工作

  1. 项目的 Git 仓库(什么?还在用SVN!恨铁不成钢的表情,SVN转Git可以看这里

  2. 注册 Coding 账号,创建Coding私有创库(免费的哦,如果之前有Git仓库,也可以新建一个专门用于自动构建的分支)。

  3. 注册 flow.ci 账号(不收费,不过要手机号码接收短信验证码)

  4. 注册 fir.im 账号,生成并获取 API Token (不收费,不过要手机号码接收短信验证码)

  5. 绑定 Coding 账户。在 dashboard 页面点击用户头像 - Git仓库创建项目都可以绑定 Coding 账户。(GitHub,Bitbucket,Coding,GitLab,码云都是支持的)

  6. 证书和描述文件。引用一下 flow.ci 自己的详细导出证书和描述文件教程

(企业证书请忽略)切记在描述文件里面添加要安装设备的 UDID,否则会出现从 fir.im 下载的时候,提示“无法安装该应用”。到时候需要重新在描述文件添加 UDID,然后重新上传描述文件并再次构建。

开工

项目配置

  1. flow.cidashboard 页面直接点击创建项目

  2. 选择 Coding 并选择对应的代码仓库。

  3. 项目基础配置。选择苹果图标,Xcode版本。点击创建

  4. 工作流配置。这是个精细化的配置,指定构建分支。你还可以设置定时任务。每天下班的时候构建一次。如果你有多个Scheme(比如APP有iPhone和iPad版本,免费和收费版本),这个时候可以在编译 - Scheme指定特定的Scheme。完成后可以配置一些构建失败和成功的通知(添加构建成功邮箱地址,小心邮件爆炸哦)。

  5. 添加成员。输入你的组员和测试人员的Email地址,点击邀请。他们会收到标题为Project invitation的邮件。按照提示操作,就可加入你的团队了。

  6. 设置。找到上传证书 & Provisioning Profile,上传准备工作6准备的描述文件和证书。

构建

  1. 自动构建。选择"构建列表",一般等几秒钟就会出现你配置仓库的分支信息了.

  2. 手动构建。如果你嫌自动构建读取分支信息慢,点击手动构建,选择自己想构建的分支。

  3. 构建过程。点击构建当前构建条目(如果状态是准备资源,则需要等待几秒钟。然后自动会变为运行中。),即可看到如下图的构建流程。通常编译阶段会比较容易发生错误信息。按照错误提示修改项目,然后提交到Coding。flow.ci会自动同步代码库并运行构建。

  4. 构建后。发布构建的 APP 到 fir.im 平台。首先需要点击工作流中左边的"+"号并搜索fir,添加fir.im上传插件。在FIR_API_TOKEN框中填入准备工作4获取的API Token。 如果一切顺利的话,你会在 fir.im - 我的应用里面看到构建成功的APP包了。赶紧分享你的APP下载二维码吧。

后面两个选项可以选填。$FIR_CHANGELOG用于显示在 fir.im 下载页面的更新日志。一般我会填 “flow.ci build” 。用于区分手动上传和 flow.ci 自动构建。

总结

总体感觉下来,就是流畅,无缝衔接。作为一个被 Jenkins 折磨过多个版本的人,实在感慨。

flow.ci 目前可以免费创建 5 个项目,在 flow.cidashboard 页面右上角有个电池一样的图标,可以看到你当前的使用情况,还有比较直观的数据分析。这只是 flow.ci 的初体验。

期待以后挖掘更多有趣的功能。


以上是 「flow.ci 最佳实践」系列之 GitHub@mzying2013 的使用分享,希望对你有用。

flow.ci

© 著作权归作者所有

共有 人打赏支持
风起云飞fir_im
粉丝 46
博文 136
码字总数 143328
作品 1
朝阳
私信 提问
新一代 CI 持续集成工具 flow.ci 正式开源

很高兴地宣布 flow.ci 在 Apache-2.0 协议下正式开源了。flow.ci 是国内首套开源持续集成(CI) 解决方案,帮助企业团队实现开发流程(build-test-deploy)自动化,快速持续交付高质量软件。 官方...

风起云飞fir_im
2017/12/06
2.8K
23
fir.im Weekly - iOS 保持界面流畅的技巧

生命不息,coding 不止。本期 fir.im Weekly 收集了微博上的热转资源,包含 Android、iOS 开发工具、源码分享,产品 UI 设计的好文章,还有一些程序员成长的 Tips,希望看完你会有所收获。 ...

风起云飞fir_im
2015/11/16
0
0
关于 fir.im 你可能不知道的实用小工具

大家可能都知道 fir.im 是做测试发包的,上传你的 IPA/APK, 测试用户可以通过一个短链接和二维码就可快速安装测试。 除了基本的发包功能即应用上传下载外,fir.im 还为提高发包体验提供了一系...

风起云飞fir_im
2015/11/16
0
0
【高德LBS开源组件大赛】iOS版地图选中Overlay功能组件

开源组件名称 iOS版地图选中Overlay功能组件 开源组件说明及使用场景 提供在iOS版地图中选中Overlay功能。使用场景很广泛,举个例子,搜索从A点到B点的公交路线时,地图上提供多条路线以供选...

cysgit
2014/07/23
0
2
fir.im Weekly - iOS 开发中的 Git 流程

本期 fir.im Weekly 收集了微博上的热转资源,包含 Android、iOS 开发工具、源码等好用的轮子,还有一些 APP 设计的 Tips,希望对你有用。 精仿知乎日报 iOS 端 @我偏笑_NSNirvana花了将近一...

风起云飞fir_im
2015/11/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部