TeamCity与Xcode3和Xcode4

时间:2014-01-24 20:50:13

标签: xcode bash teamcity sudo

我正在使用托管在Mac上的TeamCity 8.0.5,我有第二台Mac设置作为我的构建代理,同时安装了Xcode 3.2.6和Xcode 4.6.2。我正在使用的项目需要特定的IDE版本,不用感谢Adobe SDK,我似乎无法设置TeamCity来指定用于构建的Xcode版本。

如果我使用xcode-select命令,我可以在开始构建之前手动将构建设置为Xcode的任一版本,并且两者都可以顺利完成。

我尝试使用以下命令添加一个带有'Command Line'Runner类型的新构建步骤:

xcode-select -switch /Developer/Xcode3/

但是xcode-select命令需要作为sudoer运行。当我在该行上添加sudo前缀时,出现以下错误:

 Step 1/3: Switch xcodeBuild to Xcode3 (Command Line)
[Step 1/3] Starting: /Applications/TeamCity/buildAgent/temp/agentTmp/custom_script12345
[Step 1/3] in directory: /Applications/TeamCity/buildAgent/work/12345
[Step 1/3] Sorry, try again.
[Step 1/3] Sorry, try again.
[Step 1/3] Sorry, try again.
[Step 1/3] sudo: 3 incorrect password attempts
[Step 1/3] Process exited with code 1

我尝试通过将命令写入bash脚本,将脚本放在本地文件路径并打开执行权限来尝试修复。这让我更进一步:

 Step 1/3: Switch xcodeBuild to Xcode3 (Command Line)
[Step 1/3] Starting: /xcode.sh
[Step 1/3] in directory: /Applications/TeamCity/buildAgent/work/12345
[Step 1/3] sudo: no tty present and no askpass program specified

我能够在StackOverflow上找到关于如何修复tty问题的this post,但我只能再次调用脚本,然后再次提示输入脚本中的密码。我不确定是在本地登录计算机还是通过SSH保持脚本正常工作,或者如果修改/ etc / sudoers文件在Mac上与在Linux发行版上具有相同的效果。

我想我正在寻找一种更好的方法来从命令行运行sudo命令或从TeamCity中选择另一个版本的Xcode。

感谢您阅读这篇长篇文章!

0 个答案:

没有答案