使用Xcode Server bot

时间:2015-09-28 23:25:23

标签: xcode continuous-integration xcode-server

我正在使用Xcode Server为我们的iOS应用程序设置持续集成(CI)服务器。问题是我们有一个plist,cred.plist为每个人提供他们的凭据和测试环境细节,git会忽略它,如果没有它,应用程序将无法编译和运行。有一个文件cred_dist.plist用于更新cred.plist,它将用于我们的CI目的,我想在集成之前重命名/复制它,并将其命名为“cred.plist”。项目中的两个文件都在根目录中。

我已经尝试将脚本添加到CI目标和机器人本身无济于事。下面是一个来自bot“Before Integration”脚本部分的尝试以及我收到的错误消息的示例。我已经尝试了几乎所有我能找到的目录变量,包括XCS_前缀,只是一个斜杠,没有前缀。

机器人成功地从我们的仓库中提取代码并构建到需要plist的点,然后是错误。

任何建议或帮助将不胜感激!谢谢!

脚本:

#! /bin/bash

cp -a $(TMPDIR)/cred_dist.plist $(TMPDIR)/cred.plist

错误:

Assertion: Reading data: The file cred.plist” couldn’t be opened because there is no such file.
File: MyProject/cred.plist:(null)

1 个答案:

答案 0 :(得分:0)

经过一些挖掘,试验和错误以及测试后,我相信我已经找到了解决方案。问题是最接近的XCS_前缀变量是XCS_SOURCE_DIR,但是指向克隆项目的位置......这意味着路径实际上应该是${XCS_SOURCE_DIR}/myproject/cred_dist.plist。以下是我用来执行此任务的脚本;它在集成之前运行 - 希望它对某人有帮助!

#! /bin/bash

cp -a ${XCS_SOURCE_DIR}/myproject/cred_dist.plist ${XCS_SOURCE_DIR}/myproject/cred.plist