【发布时间】:2016-01-05 05:06:24
【问题描述】:
我正在尝试使用 TeamCity 制作一个简单的 Xcode 项目。没有运行任何测试我就成功了。
我有一个基本的 Swift 单视图应用程序,屏幕上有一个标签。 TeamCity (9.0.2) 和 Xcode (6.1.1) 都在安装了 OS X (10.10.2) Server (4.0.3) 的同一台机器 (Mac mini) 上运行。我已经使用 Server 创建了一个 Git 存储库,并将其作为远程添加到我的示例 Xcode 项目中。之后,我成功创建了一个有效的 TeamCity 项目并进行了构建。
但是,当我尝试检查 Run tests 复选标记时,无论我做什么,构建都会失败。
配置(保管箱图片) https://dl.dropboxusercontent.com/u/55101816/Screen%20Shot%202015-03-01%20at%2002.45.48.png
错误消息(以及之前的消息)
[02:31:48][FirstTeamCityProjectTests (BUILD)] Touch
[02:31:48][Touch] Touch build/Debug-iphoneos/FirstTeamCityProjectTests.xctest
[02:31:48][Touch] cd /Library/TeamCity/buildAgent/work/55b27ad210b8fe77
[02:31:48][Touch] export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/> ontents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Server.app/Contents/ServerRoot/usr/bin:/Applications/Server.app/Contents/ServerRoot/usr/sbin"
[02:31:48][Touch] /usr/bin/touch -c /Library/TeamCity/buildAgent/work/55b27ad210b8fe77/build/Debug-iphoneos/FirstTeamCityProjectTests.xctest
[02:31:48][FirstTeamCityProjectTests (BUILD)] CodeSign
[02:31:48][CodeSign] CodeSign build/Debug-iphoneos/FirstTeamCityProjectTests.xctest
[02:31:48][CodeSign] cd /Library/TeamCity/buildAgent/work/55b27ad210b8fe77
[02:31:48][CodeSign] export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
[02:31:48][CodeSign] export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/ Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Server.app/Contents/ServerRoot/usr/bin:/Applications/Server.app/Contents/ServerRoot/usr/sbin"
[02:31:48][CodeSign] Signing Identity: "iPhone Developer: *"
[02:31:48][CodeSign] /usr/bin/codesign --force --sign * /Library/TeamCity/buildAgent/work/55b27ad210b8fe77/build/Debug-iphoneos/FirstTeamCityProjectTests.xctest
[02:31:48][Step 1/1] ** BUILD SUCCEEDED **
[02:31:48][Step 1/1] xcodebuild: error: Failed to build workspace FirstTeamCityProject with scheme FirstTeamCityProject.
[02:31:48][Step 1/1] Reason: Xcode cannot run using the selected device.
[02:31:48][Step 1/1] Process exited with code 70
[02:31:48][Step 1/1] Step Xcode Project failed
我发现这个错误代码和 CI 的主要问题是他们正在尝试使用 ssh 并且没有 GUI 会话。目前我与它使用的同一用户有一个有效的 GUI 会话,所以这应该不是问题。
xcodebuild 命令如下。
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace FirstTeamCityProject.xcodeproj/project.xcworkspace -scheme FirstTeamCityProject SYMROOT=/Library/TeamCity/buildAgent/work/55b27ad210b8fe77/build OBJROOT=/Library/TeamCity/buildAgent/work/55b27ad210b8fe77/build clean build test
这里缺少的(我想)是一个或多个目的地。 我已经执行了以下命令,它工作得很好。 (打开模拟器,成功退出。)
xcodebuild test -project FirstTeamCityProject.xcodeproj -scheme FirstTeamCityProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=8.1'
似乎只有我一个人有这个问题,我没有找到任何其他相关的点击。看这个教程:http://pivotallabs.com/ios-continuous-deployment-teamcity-hockeyapp/,我的问题根本不应该出现。
编辑: 目的地确实不见了,但我不明白为什么。此外,如果我尝试手动添加它,构建会失败。 (我怀疑参数的顺序很重要,但我怎么能在 TeamCity 的其他地方添加这个目的地。)
[01:48:12][Step 1/1] Building project: /Library/TeamCity/buildAgent/work/55b27ad210b8fe77/FirstTeamCityProject.xcodeproj
[01:48:12][Step 1/1] Using Xcode 6.1.1
[01:48:12][Step 1/1] Starting: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace FirstTeamCityProject.xcodeproj/project.xcworkspace -scheme FirstTeamCityProject SYMROOT=/Library/TeamCity/buildAgent/work/55b27ad210b8fe77/build OBJROOT=/Library/TeamCity/buildAgent/work/55b27ad210b8fe77/build clean build test -destination 'platform=iOS Simulator,name=iPhone 6,OS=8.1'
[01:48:12][Step 1/1] in directory: /Library/TeamCity/buildAgent/work/55b27ad210b8fe77
[01:48:12][Step 1/1] xcodebuild: error: option 'Destination' requires at least one parameter of the form 'key=value'
感谢您的任何想法!提前致谢!
【问题讨论】:
-
我很困惑。您似乎已经在您的问题中回答了您自己的问题:“这里缺少什么......是一个或多个目的地。我已经执行了以下命令,它工作得很好。” ... 那么问题是什么?
-
我对 TeamCity 不太熟悉,从你写的内容来看,显然 -destination 标志不见了。如果这有帮助,这里是 Bitrise.io 的 Xcode 构建步骤的代码 [免责声明:CTO],它也可以运行单元测试:github.com/bitrise-io/steps-xcode-builder/blob/master/step.sh - 你可以在 bitrise.io 上尝试一下,我们有一个始终免费的订阅计划。跨度>
-
@JeremyHuddlestonSequoia 对不起,我刚刚更新了我的问题。
-
@ViktorBenei 谢谢!我去看看。
标签: ios xcode testing continuous-integration teamcity