美文网首页IT圈iOS八宝粥
iOS Xcode Server 持续集成(一)(环境配置)

iOS Xcode Server 持续集成(一)(环境配置)

作者: 牧码人_ | 来源:发表于2016-04-06 14:30 被阅读4690次

    码字不易,转载请注明出处。

    前言

    iOS常用的持续集成工具有Jenkins、Travis CI、Xcode server等,当然我们选择最简单的Xcode server。


    OS X server中集成了git版本管理功能,Xcode server持续集成服务,还有wiki知识库管理等,你甚至还可以拿它搭建一个网站服务器。

    在持续集成过程中你可以直接使用os x server 的git版本管理功能,将代码提交至自己搭建的OS X server服务器。也可以将代码提交至其他git版本管理仓库中(比如GitHub)。


    设备

    一台Git服务器,可以用GitHub、oschina等。

    一台装OS X Server的服务器,必须为MAC,下文简称 Xcode Server服务器。

    若干MAC做客户端,下文简称客户端。

    若干台iOS测试机。


    一、配置Xcode Server服务器

    1、apple给开发者可以凭开发者账号免费兑换os x server。免费兑换地址

    https://developer.apple.com/osx/download/

    2、下载os x server后点击安装。

    3、打开 Server 应用,以查看 OS X Server 中提供的服务列表。选择“Xcode”。

    点按“选取 Xcode”按钮,然后在“应用程序”文件夹中选择“Xcode”。Xcode 服务将自动启动。

    4、开发者团队

    在此处千万不要添加开发者账号

    5、添加git存储库,如果用Github、oschina或者自己搭建的git服务器则不需要此步骤。

    Xcode 服务 Bot 将从源 Git 储存库访问项目和代码。

    点按“储存库”,然后点按 添加按钮。选取 Git 储存库的名称,然后点按“创建”。

    储存库的 URL 基于服务器主机名称和储存库名称。例如,储存库的 URL 将为 https://myserver.example.com/git/Mac_Calc.git。


    二、配置Xcode客户端,创建bot

    1、打开xcode>product>create bot

    2、填写bot名称,选择Xcode Server服务器

    3、Actions:选择执行的动作

       a、对代码进行静态分析

       b、对代码进行单元测试

       c、生成archive包(可以选择是否生成用户安装包)

    4、cleaning:选择在何时清理项目,有几个选项(总是、每天、每周、从不)

    5、configuration:选择编译配置(Debug、release)

    6、选择在何时Xcode Server服务器开始持续集成,有几个选项(定时、在有新代码提交时、手动)

    7、Before Integration 在开始持续集成前执行的脚本

    8、 After Integration在持续集成后执行的脚本

    9、至此,创建bot完成



    三、Xcode Server服务器证书配置

    1、配置Certificates

    打开钥匙串,将iPhone Developer: xxx和iPhone Distribution:xxx导出为.p12文件

    将导出的.p12文件 导入装OS X Server的MAC的钥匙串中,这次需导入到钥匙串系统中,而不是登录中

    持续集成生成包时证书由/usr/bin/codesign管理,所以需将codesign添加为允许访问证书的程序

    在显示简介中选择 访问控制 >始终通过这些应用程序访问 中点击加号,开始选择/usr/bin/codesign程序。选择完成后点击确认。由于usr是隐藏文件,在选择时使用快捷键 CMD+SHIFT+. 显示隐藏文件

    按照以上步骤将iPhone Distribution:xxx的访问控制,也添加/usr/bin/codesign程序。

    2、将Provisioning Profiles拷贝到Xcode Server

    Xcode客户端描述文件保存在以下文件夹中

    User/Library/MobileDevice/ProvisioningProfiles

    Xcode Server服务器描述文件保存在以下文件夹中

    /Library/Developer/XcodeServer/ProvisioningProfiles

    将Xcode客户端路径下的证书保存至Xcode Server服务器对应路径下

    3、在上传代码到仓库时需选择正确的证书和描述文件,如下图



    四、开始持续集成

    点击integrate开始持续集成

    正常情况等待几分钟会看到下面的界面,说明持续集成完成。可以将ipa包安装到手机,也可以将Archive上传到appStore。当然也可以直接用iPhone Safari访问xcode server进行安装。



    iOS Xcode server 持续集成(二)集成后ipa包自动上传蒲公英 集成前执行pod install

    相关文章

      网友评论

      • Funnyer:我的Xcode Server 左侧没有xcode 选项 是为什么
        DamonYYB:@Funny_艺术家 请问有xcode 9 怎么配置持续集成的文章链接么,不太会用
        Funnyer:@DamonYYB Xcode 9集成了server功能,不需要单独用os server 了
        DamonYYB:你好 我也遇到同样的问题 请问你怎么解决的?
      • ChoiKarl:大佬,xcode build server怎么退出啊,我现在mac状态栏一直有个锤子
        dc0f08158bd9:我是在Monitor下找到,然后强制退出了,不用所以退出了
      • Yinper:一台mac 两个账户 一个是 xcode server 另一个是开发账户
        开发账户有没有办法链接 xcodeserver
        Yinper:@书中觅宝 我去 公司不会买个 mac 做服务器的😆
        93b3d3ccb7e6:是的,所以这个 xcode server 在这种情况下并没有毛用,还是用 Jenkins
      • Thebloodelves:现在正在做这个,太有用了
      • fir_im官方:iOS 端持续集成 用 flow.ci 配置也很简单,
        楼主可以试试 https://flow.ci
        a42b417881b1:fir家的贵死了。广告打到别人文章底下来了。
      • Caiflower:下载这个osx server需要128块吗....
      • 我是你立波大叔:你好,我按这个配置之后,创建成功就报 Error. configured scheme ("项目名称"). couldnot be found. it may have been renamed or removed after the bot was created. 我重新上传代码到仓库,以及重新配置证书,还是没能解决,希望看到能尽快回复一下,拜托啦.
      • Miles_miles:User/Library/MobileDevice/ProvisioningProfiles
        客户端mac没有 系统OS X EI Capitan 10.11.6
        Miles_miles: /Users/登陆用户名/Library/MobileDevice/Provisioning Profiles
      • GorCat:在第二步中 我输入 User/Library/MobileDevice/ProvisioningProfiles,Finder 并没有找到这个地址,该怎么解决呢,我的系统是 OS X EI Capitan 10.11.6。
        Miles_miles:@GorCat /Users/登陆用户名/Library/MobileDevice/Provisioning Profiles
      • VS_SELF:为什么不能添加开发者账号呀?能说下原因吗?
      • 9370a3e22cb5:每次重启xcode都需要新建bot?我重启xcode bot怎么没了?
      • c50765594d45:非常好

      本文标题:iOS Xcode Server 持续集成(一)(环境配置)

      本文链接:https://www.haomeiwen.com/subject/rqhmlttx.html