我目前正在使用 Xcode 机器人设置 iOS 应用程序,以便在 Mac OSX Server 实例上持续集成。源代码托管在远程 git 存储库中,因此不会托管在 Mac OSX 服务器上。该应用程序可在多个国家/地区使用。为了有效地解决这个问题,我们选择了不同的构建配置,具体取决于:
- 它将走向哪个服务器环境:
- 开发环境
- 舞台环境
- 生产环境
- 哪个国家在建
我在 Xcode 5 WWDC 2013 视频中观看了持续集成与 Xcode 5和测试,但仍有一些不清楚的地方。
添加共享方案时,Xcode 会创建一个新的 ApplicationName.xcscheme 文件。
查看此 XML 文件,在文件末尾附近有一个部分:
<ArchiveAction
buildConfiguration = "Gondor Production Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
创建一个新的机器人对话框似乎没有指定您希望使用哪个构建配置来构建应用程序的选项。
现在为了最小化地狱的 git 冲突,这里最好的方法是什么?为每个构建配置提供多个共享方案,或者在创建新机器人时简单地更改功能/发布分支中的一个方案?
不同的发布版本具有不同的包标识符、不同的代码签名身份和不同的开发团队。切换开发团队时,project.pbxproj 文件会删除这些“CODE_SIGN_IDENTITY”字符串。最好的方法是让 shell 脚本检查:
- 存在适当的“CODE_SIGN_IDENTITY”字符串并匹配适当的值
- “DevelopmentTeam”字符串存在并匹配适当的值
或者我可以通过添加用户定义的设置来实现这一点吗?