2016-11-10 2 views
2

Ich versuche, meine iOS-Projekte mit Jenkins zu automatisieren. Allerdings stoße ich auf ein Problem mit dem Projekt, das ich mit Jenkins testen möchte. Das Projekt heißt ttt und verwendet Cocoapods.Unit-Test iOS mit Jenkins

Mit Blick auf die Schemata die folgenden innerhalb des Projekts existieren. enter image description here

Ich habe this Tutorial gefolgt.

die Einstellungen, die ich gemacht habe, sind als enter image description here

enter image description here

enter image description here

folgt Wenn ich versuche, es führen Sie es direkt hier stecken erhalten!

Going to invoke xcodebuild:, scheme: ttt, sdk: DEFAULT, workspace: ttt, configuration: Debug, clean: NO, archive:NO, symRoot: DEFAULT, configurationBuildDir: DEFAULT, codeSignIdentity: DEFAULT 
[lbp-iOS] $ /usr/bin/xcodebuild -scheme ttt -workspace ttt.xcworkspace -configuration Debug build test -destination "platform=iOS Simulator,name=iPhone 6,OS=10.1" 

Als ich die ttt aus dem Arbeitsbereich entfernen Feld bekomme ich folgende Fehler

Going to invoke xcodebuild:, scheme: ttt, sdk: DEFAULT, project: DEFAULT, configuration: Debug, clean: NO, archive:NO, symRoot: DEFAULT, configurationBuildDir: DEFAULT, codeSignIdentity: DEFAULT 
[lbp-iOS] $ /usr/bin/xcodebuild -scheme ttt -configuration Debug build 
xcodebuild: error: The project named "ttt" does not contain a scheme named "ttt". The "-list" option can be used to find the names of the schemes in the project. 
Build step 'Xcode' marked build as failure 
Recording test results 
+0

Was meinst du "stecken"? Es sitzt nur an der 'Going to xcodebuild ... 'Linie für immer aufrufen? – kpsharp

+0

@kpsharp Ja, es sitzt einfach da. Ich habe es für 30 Minuten laufen lassen, aber es wird sich nicht von diesem Punkt bewegen. Ich würde lieber einen Fehler sehen als das ehrlich lol – NoSixties

+0

Das ist wahrscheinlich ein Problem mit dem Xcode Integration Plugin, dann. Du könntest sie erreichen, um es reparieren zu lassen. Alternativ können Sie Bash-Skripts schreiben, um die Xcode-Befehlszeilenwerkzeuge auszuführen, die mit Xcode verpackt sind, und die Skripts nur als Teil des Jenkins-Plans ausführen. – kpsharp

Antwort

2

Ordnung so, warum es nicht funktioniert mit der Tatsache zu tun hatte, dass die Regelung tatsächlich nicht abgeschickt git. Sie müssen dies innerhalb Ihres xcode-Projekts angeben, andernfalls wird es nicht als eine Datei angezeigt, die Sie festschreiben können.

dies xcode > Product > Scheme > Manage Schemes
Dazu gehen Sie werden einen Bildschirm mit allen Regelungen in Ihrem Projekt sehen sicherstellen, dass Sie das Feld unter Shared für alle Systeme an, die du in Jenkins wie diese verwenden möchten.

enter image description here

Drücken Sie diese zu Ihrem git und versuchen Sie es erneut. Es sollte jetzt funktionieren.

+0

Das hat den Trick. Vielen Dank! – greg

+0

@greg kein Problem, es hat funktioniert. Ich würde dir raten, einen Blick auf fastlane zu werfen, das ich momentan in Jenkins integriert habe – NoSixties