在OS X上安装TeamCity构建代理。使用命令行构建运行程序时出现问题。

3

我试图在OS X上使用TeamCity构建代理。我的一个构建步骤涉及将归档移动到已知位置,以便我可以将其作为构建工件获取。 xcodebuild archive 命令会将 .xcarchive 文件放置在 %system.user.home%/Library/Developer/Xcode/Archives/日期/应用程序名称 日期 时间.xcarchive 中。因此,我想移动并重命名 .xcarchive 文件,以便更容易地从包中获取可执行文件。值得一提的是,我还有一个构建步骤,用于清除 Archives 目录,以确保我只有一个带有一个 .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个回答

4
是的,确实需要将百分号加倍转义。TeamCity页面上有相关文档 构建配置中定义和使用构建参数,但我承认这不容易找到。(基本上,TeamCity使用百分号作为自己的参数)。
我用于此目的的调用是`date "+%%Y-%%m-%%d"`。另外,我需要在路径周围加引号(shell globbing会导致问题),因此整个命令最终变成:
mv "~/Library/Developer/Xcode/Archives/`date "+%%Y-%%m-%%d"`/*.xcarchive" ./MyApp.xcarchive

另外,感谢您提出这个问题!我也在尝试做同样的事情,这让我朝着正确的方向前进。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接