编者按:本文转载自 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

iOS 自动构建套件 - flow.ci + fir.im + Coding的更多相关文章

  1. CI Weekly #18 | flow.ci iOS 最佳实践出炉,正式支持 Git@OSC 构建

    如大家所期待,flow.ci 现已支持开源中国的代码仓库 - 码云,可以直接构建 Git@OSC 的项目了,点击创建项目-选择代码仓库-选择码云-绑定 OSChina 账户-选择要构建项目,教程看这里 ...

  2. 几分钟看完 flow.ci 全部功能

    从 0 到 1,从邀请式内测到收费上线,flow.ci 经历了十个多月的沉淀与打磨.这期间,flow.ci 工程师们奋力赶工,进行了一系列的大功能更新,Bug 修复,功能优化. 这篇文章记录了 flo ...

  3. CI Weekly #22 | flow.ci 新版 iOS 构建流程的 4 大变化

    好久不见,最近 flow.ci 针对 iOS 项目重新设计了创建项目的流程,较之前相比有 4 个变化: 在创建项目阶段加入项目有效性检测,大大减少了构建失败率,有问题早发现! 在创建项目阶段加入项目配 ...

  4. iOS开发进阶 - 使用shell脚本自动打包上传到fir.im上-b

    用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 ...

  5. CI Weekly #17 | flow.ci 支持 Java 构建以及 Docker/DevOps 实践分享

    这周一,我们迫不及待写下了最新的 changelog -- 项目语言新增「Java」.创建 Java 项目工作流和其它语言项目配置很相似,flow.ci 提供了默认的 Java 项目构建流程模版,快去 ...

  6. GitHub搭配使用Travis CI 进行自动构建服务

    Travis CI (Continuous Integration)持续集成服务 用处:自动监控软件仓库,可以在代码提交后立刻执行自动测试或构建 1.在Github自己的仓库根目录里添加.travis ...

  7. 基于GitLab CI搭建Golang自动构建环境

    基于GitLab CI搭建Golang自动构建环境 Golang发布遇到的问题 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 开发者本地环境需要将环境变量文件改 ...

  8. 再探CI,Github调戏Action手记——自动构建并发布到另一仓库

    前言 接上文初探CI,Github调戏Action手记--自动构建并发布 在学习了Action的基本操作之后 接着我们来探索Action其他可能的功能 众所周知 只有用得到的技术学习的才会最快 我也是 ...

  9. 初探CI,Github调戏Action手记——自动构建并发布

    前言 最近在做脚本的说明文档时使用了vuepress这个东西 前端实在是菜,只能随便写写了 正常写完md文件之后推送至github做版本控制 而前端页面的生成则是在本地,部署也是在本地手工进行 一套下 ...

随机推荐

  1. Linux操作命令集

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  2. python中的列表list

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  3. ICC_lab总结——ICC_lab4:时钟树综合

    时钟树综合的理论知识总结在这里:http://www.cnblogs.com/IClearner/p/6580034.html 下面是实践环节:使用ICC进行时钟树综合. 这个实验的目标是: ·设置C ...

  4. Azure Messaging-ServiceBus Messaging消息队列技术系列6-消息回执

    上篇博文中我们介绍了Azure Messaging的重复消息机制.At most once 和At least once. Azure Messaging-ServiceBus Messaging消息 ...

  5. android中在java代码中设置Button按钮的背景颜色

    android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...

  6. [笔记]LR和SVM的相同和不同

    之前一篇博客中介绍了Logistics Regression的理论原理:http://www.cnblogs.com/bentuwuying/p/6616680.html. 在大大小小的面试过程中,经 ...

  7. 一键部署ETCD集群脚本

    这里使用三个节点,系统版本为CentOS7 # vim deploy-etcd.sh #!/bin/bash set -x set -e #更改这里的IP, 只支持部署3个节点etcd集群 decla ...

  8. SVG动画实践篇-模拟音量高低效果

    git 地址:https://github.com/rainnaZR/svg-animations/tree/master/src/demo/step2/volumn 说明 这个动画的效果就是多个线条 ...

  9. 在Windows下安装redis扩展和memcached扩展

    一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       2.根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2 ...

  10. 性能测试分享:MYSQL死锁

    poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...