OS X Server 之 Xcode服务(iOS开发持续集成)

2个官方文档:
苹果开发指南
OS X Server 帮助

关于持续集成,很多都是说用Jenkins,网上的文章也是有很多,作为iOS开发自带Xcode服务,相信与Xcode的兼容性必定是自家的好用;虽然没用过Jenkins,但是OS X Server 的Xcode服务,用的还是很舒服的,对于静态分析,单元测试,打包三大功能的自动化集成,并且可以直接使用IP地址访问操作;简单实用,妈妈再也不用担心我打包浪费时间了~

下载 OS X Server

APP Store 下载即可,只要是付费开发者,就可以免费使用服务器。功能强大有不要钱,是开发者的不要浪费,赶紧用起来;

Server 服务器配置 Xcode服务

  • 1 选择服务器主机:一般选自身,也可以指定IP
OS X Server 之 Xcode服务(iOS开发持续集成)_第1张图片
选择服务器主机
  • 2 选择Xcode服务,关于服务器主机本身的其他设置自己玩吧。主要讲述Xcode服务部分;
  • 开启服务(右上角)
  • 权限和版本号:自己考虑,我这里默认设置不改了;
  • 开发团队:使用自己的apple ID添加;
  • 开发设备:需要用设备连接服务器后才能搜索到,初次连接,可能还需要在Status选项里面点击【Add to Teams】(比如设备不是你上面apple ID 的就需要)
  • 查看Bot:会打开网页(Bot管理页面,默认127.0.01),可以直接静态分析测试打包等,当然需要后面配置成功才能使用。
OS X Server 之 Xcode服务(iOS开发持续集成)_第2张图片
Xcode服务配置

Xcode 配置

  • 1 Accounts 添加 Servers:一般默认自己主机,也可以选择指定IP地址,按服务器配置时对应选择;需要填写用户名,密码,自己搞定;
OS X Server 之 Xcode服务(iOS开发持续集成)_第3张图片
新增服务
  • 2 注意 Source Control 需要打开才能使用!具体下面的各种自动自己考虑勾选;
OS X Server 之 Xcode服务(iOS开发持续集成)_第4张图片
资源控制

Bot 配置

注意:自己的项目必须是个git文件夹,比如github上clone下来的项目,或者是本地服务器git来的,总之需要git文件夹;(官方文档使用Xcode的Source Control 方式搞定,具体可以看官方指南。我直接用了第三方软件SourceTree管理的)

  • 0 创建 Bot:按图示1-2-3;
OS X Server 之 Xcode服务(iOS开发持续集成)_第5张图片
创建Bot
  • 1 Bot命名与服务器选择,基本默认不改;
OS X Server 之 Xcode服务(iOS开发持续集成)_第6张图片
Bot基本设置
  • 2 选择项目内容,后面的master,可选其他分支,比如develop;
OS X Server 之 Xcode服务(iOS开发持续集成)_第7张图片
选择集成项目
  • 3 Bot 操作配置
  • Scheme:默认项目本身
  • Actions:1分析;2单元测试(测试项目没开单元测试所有没的选);3打包;
  • Cleaning:可以选择,因为是自己的电脑做服务器的,所以选择了一周清理一次;
  • Configuation:项目配置;
OS X Server 之 Xcode服务(iOS开发持续集成)_第8张图片
集成配置
  • 4 环境变量?没用过,sorry;
OS X Server 之 Xcode服务(iOS开发持续集成)_第9张图片
环境变量?
  • 5 添加脚本,比如完成后发送个邮件通知;
OS X Server 之 Xcode服务(iOS开发持续集成)_第10张图片
添加脚本
  • 6 create!注意 需要一次验证 git 的用户名和密码!不是之前设置的用户名与密码。
  • 7 成功;各种信息以及完成的打包等;通过IP地址也可以实时整合并下载;
OS X Server 之 Xcode服务(iOS开发持续集成)_第11张图片
完成预览结果

其他

  • 关于代码提交,不管使用Xcode还是其他方式,是没有关系的,Xcode服务指向的是master或者其他分支的服务器资源;
  • 关于打包,项目配置里就做好证书等配置文件的选择;
  • 内测的ipa包,可以结合蒲公英等平台作分发也是很方便的;考虑是不是可以搞个脚本上传。

问题?

  • 关于设备,暂时还不知道服务器配置时选择的设备是否与分析单元测试有关?
  • 有什么不对的请教育。

你可能感兴趣的:(OS X Server 之 Xcode服务(iOS开发持续集成))