OS X上的TeamCity构建代理。命令行构建运行器的问题

时间:2012-06-01 19:29:26

标签: xcode macos teamcity

我尝试在OS X上使用TeamCity构建代理。我的构建步骤之一涉及将存档移动到已知位置,以便我可以将其作为构建工件来获取。 xcodebuild archive命令将.xcarchive文件放在%system.user.home%/ Library / Developer / Xcode / Archives / date / appName date time .xcarchive中。所以我想移动并重命名.xcarchive文件,以便更容易从包中获取可执行文件。 FWIW,我还有一个清理Archives目录的构建步骤,所以我确定我只有一个 date 文件夹,其中只有一个.xcarchive文件。此命令可以从命令行正常工作:

$ /bin/mv /Users/buildagent/Library/Developer/Xcode/Archives/`date+%Y-%m-%d`/*.xcarchive /Users/buildagent/Library/Developer/Xcode/Archives/GetConnected.xcarchive

但是使用它来构建运行器不起作用(我只是得到mv的用法消息):

/bin/mv %system.user.home%/Library/Developer/Xcode/Archives/`date +%%Y-%%m-%%d`/*.xcarchive %system.user.home%/Library/Developer/Xcode/Archives/GetConnected.xcarchive

我做错了什么?还有其他一些我需要逃脱的角色吗?有没有关于这方面的文件?

1 个答案:

答案 0 :(得分:4)

是的,确实你需要通过加倍来逃避这些百分比。在TeamCity页面Defining and Using Build Parameters in Build Configuration上有关于此的文档,但我承认它并不容易找到。 (基本上TeamCity使用百分比字符表示自己的参数。)

我为此目的使用的电话是`date "+%%Y-%%m-%%d"`。此外,我需要在路径周围加上引号(shell globbing导致问题),因此整个命令最终成为:

mv "~/Library/Developer/Xcode/Archives/`date "+%%Y-%%m-%%d"`/*.xcarchive" ./MyApp.xcarchive

另外,谢谢你提问!我试图做同样的事情,这使我走上了正确的道路。