3

我正在尝试在 OS X 上使用 TeamCity 构建代理。我的构建步骤之一涉及将存档移动到已知位置,以便我可以将其作为构建工件获取。该xcodebuild archive命令将 .xcarchive 文件放在 %system.user.home%/Library/Developer/Xcode/Archives/ date/appName 日期时间.xcarchive 中。所以我想移动和重命名 .xcarchive 文件,以便更容易从包中获取可执行文件。FWIW,我还有一个清除存档目录的构建步骤,所以我可以确保我只有一个日期文件夹,其中只有一个 .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

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

4

1 回答 1

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

另外,感谢您提出问题!我试图做同样的事情,这让我走上了正确的道路。

于 2012-11-22T17:26:25.470 回答