Sto configurando un sistema di elementi di configurazione utilizzando Jenkins e trovavo che la compilazione stava fallendo perché i report di xcodebuild non c'erano schemi quando stavo eseguendo il lineI comandi xcodebuild danno risultati diversi quando vengono eseguiti dalla riga di comando rispetto a quando vengono eseguiti da Jenkins
-xcodebuild -workspace XXX -scheme NNN.
non riuscivo a capire perché questo potrebbe accadere, in modo da eliminare qualcosa di irregolare essere con il mio lavoro ho creato un nuovo modello di progetto utilizzando XCode e ha scoperto che io sono sempre una differenza di comportamento per qualsiasi comando xcodebuild e per qualsiasi spazio di lavoro/progetto.
Il progetto modello è stato chiamato cascami e se dalla linea di comando terminale corro questo comando per esempio:
xcodebuild -list
Produce
Information about project "scrap":
Targets:
scrap
Build Configurations:
Debug
Release
If no build configuration is specified and -scheme is not passed then "Release" is used.
Schemes:
scrap
Ma se corro xcodebuild -elenco dall'interno Jenkins quindi l'output è:
Building in workspace /Users/Shared/Jenkins/Home/workspace/scrap
[scrap] $ /bin/sh -xe /var/folders/ph/s6dvlfq9769741g_yzmjlmz000007c/T/hudson3765407964219991487.sh
+ xcodebuild -list
Information about project "scrap":
Targets:
scrap
Build Configurations:
Debug
Release
If no build configuration is specified and -scheme is not passed then "Release" is used.
This project contains no schemes.
Questo è il più semplice dei lavori jenkins - al Io faccio è creare un nuovo lavoro, impostarlo su un progetto software libero, quindi aggiungere un passo di generazione della shell Execut e aggiungere il comando xcodebuild -list, il gioco è fatto.
Perché xcodebuild dice che non ci sono schemi quando ci sono? E perché si comporta in modo diverso quando viene eseguito da Jenkins?
Hai provato a passare il nome senza estensione? – Eimantas
Ho rivisto la mia domanda perché ho trovato un problema molto più generico, semplicemente facendo "xcodebuild -list", ad esempio, fornisce risultati diversi dalla riga di comando come da Jenkins. – Gruntcakes