iOS持续集成-使用Xcode搭建自动打包平台初步尝试

起因:有一天下午PM突然找我说,之前公司有一个自动打包平台现在怎么不好使了?然后我一回想,原来是那台电脑被收回去了。好吧,产品现在需要打包平台,那我只能搭建一个了。。。

————————华而不实的分割线————————

由于之前没搭建过,所以在网上搜了半天,找到的大多都是OS X server或者是macos server之类的文章,显然最新的macos server已经没有了相关的功能(具体可以看更新日志)而是最新的Xcode已经集成了Xcode server的功能。我使用的是最新的Xcode9.2,具体从Xcode的哪个版本开始的我不太清楚,我猜测大概是Xcode9就有了吧???

进入正题
首先,最好自己手动打包一次,会生成如下文件。
iOS持续集成-使用Xcode搭建自动打包平台初步尝试
其中,ExportOptions.plist文件后面需要用到。

打开Xcode
iOS持续集成-使用Xcode搭建自动打包平台初步尝试

然后点击Xcode Server

点击OFF开关
iOS持续集成-使用Xcode搭建自动打包平台初步尝试

然后会弹出选择账户页面,选择当前用户即可,然后点击continue按钮。
iOS持续集成-使用Xcode搭建自动打包平台初步尝试

然后等着就行了。期间可能需要输入账户密码。

最终是这样的即可
iOS持续集成-使用Xcode搭建自动打包平台初步尝试

至此,Xcode Server服务就完全打开了。

————————华而不实的分割线————————

接下来是Create Bot。

点击Product->Create Bot ,出现如下页面
iOS持续集成-使用Xcode搭建自动打包平台初步尝试

直接下一步就好了,点击Next。

iOS持续集成-使用Xcode搭建自动打包平台初步尝试
这里会自动识别工程中的git文件,这步我们选择对应的分支进行打包就可以了,然后继续Next。

iOS持续集成-使用Xcode搭建自动打包平台初步尝试

这里静态分析建议勾选,重点是Archive,按照图中的选项选择(如果选择Installable Product并不会生成.ipa文件)然后选择之前手动打包生成的ExportOptions.plist,点击Next。

iOS持续集成-使用Xcode搭建自动打包平台初步尝试
这里主要设置打包的模式:
1.代码有提交时候打包。
2.定时
3.手动

点击Next

iOS持续集成-使用Xcode搭建自动打包平台初步尝试
这里不建议勾选Allow,建议选择Cer&profiles,手动将证书和描述文件对应的Add to Server即可。

点击Next之后后面还有两个页面是可以配置一些环境变量和生成.ipa包之后的一些操作,目前我还没用到,我就不一一截图了。不过目前Xcode9.2版本中,打包之后发送邮件的功能不太好用。至少暂时是这样。

至此,Bot创建完毕!

————————华而不实的分割线————————

开始构建
点击Xcode左侧的按钮,选中刚刚创建好的Bot,右键选择integrate等待完成即可。
iOS持续集成-使用Xcode搭建自动打包平台初步尝试

构建完成之后`Build Results会出现如下图所示一个.ipa,一个Archive。如果未出现下图的结果也会有相应的提示,如果报错,对应的解决报错的问题即可。
iOS持续集成-使用Xcode搭建自动打包平台初步尝试

最后,自动构建并不是只能在本机上操作,可以在浏览器输入https://本机IP地址/xcode/bots/latest进行网页操作。这里就不截图了,各自自己尝试去操作吧。

至此,整个流程结束。其实这并不是一个教学。更多的是一个记录!