Xcode@5 – úloha Xcode v5
Pomocí této úlohy můžete sestavit, otestovat nebo archivovat pracovní prostor Xcode v systému macOS a volitelně zabalit aplikaci.
Syntaxe
# Xcode v5
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@5
inputs:
actions: 'build' # string. Required. Actions. Default: build.
#configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
#sdk: '$(SDK)' # string. SDK. Default: $(SDK).
#xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' # string. Workspace or project path. Default: **/*.xcodeproj/project.xcworkspace.
#scheme: # string. Scheme.
#xcodeVersion: 'default' # '8' | '9' | '10' | '11' | '12' | '13' | 'default' | 'specifyPath'. Xcode version. Default: default.
#xcodeDeveloperDir: # string. Optional. Use when xcodeVersion == specifyPath. Xcode developer path.
# Package options
#packageApp: false # boolean. Create app package. Default: false.
#archivePath: # string. Optional. Use when packageApp == true. Archive path.
#exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageApp == true. Export path. Default: output/$(SDK)/$(Configuration).
#exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageApp == true. Export options. Default: auto.
#exportMethod: 'development' # string. Required when exportOptions == specify. Export method. Default: development.
#exportTeamId: # string. Optional. Use when exportOptions == specify. Team ID.
#exportOptionsPlist: # string. Required when exportOptions == plist. Export options plist.
#exportArgs: # string. Optional. Use when packageApp == true. Export arguments.
# Signing & provisioning
#signingOption: 'nosign' # 'nosign' | 'default' | 'manual' | 'auto'. Signing style. Default: nosign.
#signingIdentity: # string. Optional. Use when signingOption = manual. Signing identity.
#provisioningProfileUuid: # string. Optional. Use when signingOption = manual. Provisioning profile UUID.
#provisioningProfileName: # string. Optional. Use when signingOption = manual. Provisioning profile name.
#teamId: # string. Optional. Use when signingOption = auto. Team ID.
# Devices & simulators
#destinationPlatformOption: 'default' # 'default' | 'iOS' | 'tvOS' | 'macOS' | 'custom'. Destination platform. Default: default.
#destinationPlatform: # string. Optional. Use when destinationPlatformOption == custom. Custom destination platform.
#destinationTypeOption: 'simulators' # 'simulators' | 'devices'. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS. Destination type. Default: simulators.
#destinationSimulators: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Simulator.
#destinationDevices: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices. Device.
# Advanced
#args: # string. Arguments.
#workingDirectory: # string. Alias: cwd. Working directory.
#useXcpretty: true # boolean. Use xcpretty. Default: true.
#xcprettyArgs: # string. Optional. Use when useXcpretty == true. Xcpretty arguments.
#publishJUnitResults: false # boolean. Publish test results to Azure Pipelines. Default: false.
#testRunTitle: # string. Optional. Use when publishJUnitResults == true. Test run title.
# Xcode v5
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@5
inputs:
actions: 'build' # string. Required. Actions. Default: build.
#configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
#sdk: '$(SDK)' # string. SDK. Default: $(SDK).
#xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' # string. Workspace or project path. Default: **/*.xcodeproj/project.xcworkspace.
#scheme: # string. Scheme.
#xcodeVersion: 'default' # '8' | '9' | '10' | '11' | 'default' | 'specifyPath'. Xcode version. Default: default.
#xcodeDeveloperDir: # string. Optional. Use when xcodeVersion == specifyPath. Xcode developer path.
# Package options
#packageApp: false # boolean. Create app package. Default: false.
#archivePath: # string. Optional. Use when packageApp == true. Archive path.
#exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageApp == true. Export path. Default: output/$(SDK)/$(Configuration).
#exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageApp == true. Export options. Default: auto.
#exportMethod: 'development' # string. Required when exportOptions == specify. Export method. Default: development.
#exportTeamId: # string. Optional. Use when exportOptions == specify. Team ID.
#exportOptionsPlist: # string. Required when exportOptions == plist. Export options plist.
#exportArgs: # string. Optional. Use when packageApp == true. Export arguments.
# Signing & provisioning
#signingOption: 'nosign' # 'nosign' | 'default' | 'manual' | 'auto'. Signing style. Default: nosign.
#signingIdentity: # string. Optional. Use when signingOption = manual. Signing identity.
#provisioningProfileUuid: # string. Optional. Use when signingOption = manual. Provisioning profile UUID.
#provisioningProfileName: # string. Optional. Use when signingOption = manual. Provisioning profile name.
#teamId: # string. Optional. Use when signingOption = auto. Team ID.
# Devices & simulators
#destinationPlatformOption: 'default' # 'default' | 'iOS' | 'tvOS' | 'macOS' | 'custom'. Destination platform. Default: default.
#destinationPlatform: # string. Optional. Use when destinationPlatformOption == custom. Custom destination platform.
#destinationTypeOption: 'simulators' # 'simulators' | 'devices'. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS. Destination type. Default: simulators.
#destinationSimulators: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Simulator.
#destinationDevices: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices. Device.
# Advanced
#args: # string. Arguments.
#workingDirectory: # string. Alias: cwd. Working directory.
#useXcpretty: true # boolean. Use xcpretty. Default: true.
#xcprettyArgs: # string. Optional. Use when useXcpretty == true. Xcpretty arguments.
#publishJUnitResults: false # boolean. Publish test results to Azure Pipelines. Default: false.
#testRunTitle: # string. Optional. Use when publishJUnitResults == true. Test run title.
# Xcode v5
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@5
inputs:
actions: 'build' # string. Required. Actions. Default: build.
#configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
#sdk: '$(SDK)' # string. SDK. Default: $(SDK).
#xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' # string. Workspace or project path. Default: **/*.xcodeproj/project.xcworkspace.
#scheme: # string. Scheme.
#xcodeVersion: 'default' # '8' | '9' | '10' | '11' | 'default' | 'specifyPath'. Xcode version. Default: default.
#xcodeDeveloperDir: # string. Optional. Use when xcodeVersion == specifyPath. Xcode developer path.
# Package options
#packageApp: false # boolean. Create app package. Default: false.
#archivePath: # string. Optional. Use when packageApp == true. Archive path.
#exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageApp == true. Export path. Default: output/$(SDK)/$(Configuration).
#exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageApp == true. Export options. Default: auto.
#exportMethod: 'development' # string. Required when exportOptions == specify. Export method. Default: development.
#exportTeamId: # string. Optional. Use when exportOptions == specify. Team ID.
#exportOptionsPlist: # string. Required when exportOptions == plist. Export options plist.
#exportArgs: # string. Optional. Use when packageApp == true. Export arguments.
# Signing & provisioning
#signingOption: 'nosign' # 'nosign' | 'default' | 'manual' | 'auto'. Signing style. Default: nosign.
#signingIdentity: # string. Optional. Use when signingOption = manual. Signing identity.
#provisioningProfileUuid: # string. Optional. Use when signingOption = manual. Provisioning profile UUID.
#provisioningProfileName: # string. Optional. Use when signingOption = manual. Provisioning profile name.
#teamId: # string. Optional. Use when signingOption = auto. Team ID.
# Devices & simulators
#destinationPlatformOption: 'default' # 'default' | 'iOS' | 'tvOS' | 'macOS' | 'custom'. Destination platform. Default: default.
#destinationPlatform: # string. Optional. Use when destinationPlatformOption == custom. Custom destination platform.
#destinationTypeOption: 'simulators' # 'simulators' | 'devices'. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS. Destination type. Default: simulators.
#destinationSimulators: 'iPhone 7' # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Simulator. Default: iPhone 7.
#destinationDevices: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices. Device.
# Advanced
#args: # string. Arguments.
#workingDirectory: # string. Alias: cwd. Working directory.
#useXcpretty: true # boolean. Use xcpretty. Default: true.
#publishJUnitResults: false # boolean. Publish test results to Azure Pipelines. Default: false.
Vstupy
akcí actions
-
string
. Povinné. Výchozí hodnota: build
.
Určuje seznam akcí oddělených mezerami. Mezi platné možnosti patří build
, clean
, test
, analyze
a archive
. Napříkladclean build
provede čisté sestavení. Viz Apple: Sestavování z příkazového řádku pomocí nejčastějších dotazů xcode.
konfigurace configuration
-
string
. Výchozí hodnota: $(Configuration)
.
Určuje konfiguraci projektu Xcode nebo pracovního prostoru, který se má sestavit. Při použití proměnné zadejte hodnotu (například Release
) na kartě Proměnné.
sady sdk
- SDK
string
. Výchozí hodnota: $(SDK)
.
Určuje sadu SDK, která se má použít při sestavování projektu nebo pracovního prostoru Xcode. V terminálové aplikaci macOS spusťte xcodebuild -showsdks
, aby se zobrazil platný seznam sad SDK. Při použití proměnné zadejte hodnotu (například iphonesimulator
) na kartě Proměnné.
xcWorkspacePath
-
cesta k pracovnímu prostoru nebo projektu
string
. Výchozí hodnota: **/*.xcodeproj/project.xcworkspace
.
Volitelný. Určuje relativní cestu z kořenového adresáře úložiště do pracovního prostoru nebo projektu Xcode. Například MyApp/MyApp.xcworkspace
nebo MyApp/MyApp.xcodeproj
. Lze použít zástupné znaky. Přečtěte si další informace o vzorech porovnávání souborů .
schématu scheme
-
string
.
Volitelný. Určuje název schématu Xcode. musí být sdíleným schématem (sdílené zaškrtávací políčko v části Spravovaná schémata v Xcode). Pokud nezadáte schéma a zadaný pracovní prostor má jediné sdílené schéma, použije se schéma pracovního prostoru.
xcodeVersion
-
verze Xcode
string
. Povolené hodnoty: 8
(Xcode 8), 9
(Xcode 9), 10
(Xcode 10), 11
(Xcode 11), 12
(Xcode 12), 13
(Xcode 13), default
, specifyPath
(Zadat cestu). Výchozí hodnota: default
.
Určuje cílovou verzi Xcode. Vyberte Default
, pokud chcete na počítači agenta použít výchozí verzi Xcode. Určení čísla verze (například Xcode 9
) spoléhá na umístění verze, které se má nastavit proměnnými prostředí na počítači agenta (například XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer
). Vyberte Specify path
a zadejte konkrétní cestu k adresáři vývojáře Xcode.
xcodeVersion
-
verze Xcode
string
. Povolené hodnoty: 8
(Xcode 8), 9
(Xcode 9), 10
(Xcode 10), 11
(Xcode 11), default
, specifyPath
(Zadat cestu). Výchozí hodnota: default
.
Určuje cílovou verzi Xcode. Vyberte Default
, pokud chcete na počítači agenta použít výchozí verzi Xcode. Určení čísla verze (například Xcode 9
) spoléhá na umístění verze, které se má nastavit proměnnými prostředí na počítači agenta (například XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer
). Vyberte Specify path
a zadejte konkrétní cestu k adresáři vývojáře Xcode.
xcodeDeveloperDir
-
cesta vývojáře Xcode
string
. Volitelný. Používá se při xcodeVersion == specifyPath
.
Určuje cestu ke konkrétnímu adresáři vývojáře Xcode (například /Applications/Xcode_9.0.0.app/Contents/Developer
). Tento vstup je užitečný, pokud je na počítači agenta nainstalováno více verzí Xcode.
packageApp
-
Vytvoření balíčku aplikace
boolean
. Výchozí hodnota: false
.
Určuje, jestli se soubor balíčku aplikace IPA vygeneruje jako součást sestavení.
archivePath
-
cesta k archivu
string
. Volitelný. Používá se při packageApp == true
.
Určuje adresář, ve kterém jsou umístěny vytvořené archivy.
exportPath
-
Exportovat cestu
string
. Volitelný. Používá se při packageApp == true
. Výchozí hodnota: output/$(SDK)/$(Configuration)
.
Určuje cíl produktu exportovaného z archivu.
exportOptions
-
možnosti exportu
string
. Volitelný. Používá se při packageApp == true
. Povolené hodnoty: auto
(automatické), plist
, specify
. Výchozí hodnota: auto
.
Určuje možnosti pro export archivu. Pokud je vybrána výchozí hodnota Automatic
, metoda exportu se automaticky zjistí z archivu. Vyberte Plist
a zadejte soubor plist obsahující možnosti exportu. Vyberte Specify
, pokud chcete zadat konkrétní metodu exportu a ID týmu.
metody exportu exportMethod
-
string
. Požadováno při exportOptions == specify
. Výchozí hodnota: development
.
Určuje metodu, kterou Xcode používá k exportu archivu. Například: app-store
, , package
ad-hoc
, enterprise
nebo development
.
ID týmu exportTeamId
-
string
. Volitelný. Používá se při exportOptions == specify
.
Určuje ID týmu Apple Developer Portal 10 znaků, které se má použít při exportu.
exportOptionsPlist
-
možnosti exportu
string
. Požadováno při exportOptions == plist
.
Určuje cestu k souboru plist, který obsahuje možnosti, které se mají použít při exportu.
exportArgs
-
Export argumentů
string
. Volitelný. Používá se při packageApp == true
.
Určuje další argumenty příkazového řádku použité během exportu.
signingOption
-
styl podepisování
string
. Povolené hodnoty: nosign
(bez znaku kódu), default
(výchozí nastavení projektu), manual
(ruční podepisování), auto
(automatické podepisování). Výchozí hodnota: nosign
.
Určuje metodu podepisování sestavení. Pokud chcete podepisování zakázat, vyberte Do not code sign
. Vyberte Project defaults
, pokud chcete použít pouze konfiguraci podepisování projektu. Vyberte Manual signing
, pokud chcete vynutit ruční podepisování a volitelně zadat podpisovou identitu a zřizovací profil. Vyberte Automatic signing
, pokud chcete vynutit automatické podepisování a volitelně zadat ID vývojového týmu. Pokud váš projekt vyžaduje podepisování, použijte Nainstalovat Apple... úkoly k instalaci certifikátů a zřizovacích profilů před sestavením Xcode.
signingIdentity
-
podpisové identity
string
. Volitelný. Používá se při signingOption = manual
.
Určuje přepsání podpisové identity, pomocí kterého se má sestavení podepsat. Může se vyžadovat odemknutí výchozí řetězce klíčů na počítači agenta. Pokud není zadána žádná hodnota, použije se nastavení projektu Xcode.
provisioningProfileUuid
-
UUID zřizovacího profilu
string
. Volitelný. Používá se při signingOption = manual
.
Určuje UUID nainstalovaného zřizovacího profilu použitého pro sestavení. Pomocí samostatných úloh sestavení s různými schématy nebo cíli můžete určit zřizovací profily podle cíle v jednom pracovním prostoru (iOS, tvOS, watchOS).
provisioningProfileName
-
název profilu zřizování
string
. Volitelný. Používá se při signingOption = manual
.
Určuje název nainstalovaného zřizovacího profilu použitého pro sestavení. Pokud je tato hodnota zadaná, má přednost před UUID zřizovacího profilu. Pomocí samostatných úloh sestavení s různými schématy nebo cíli můžete určit zřizovací profily podle cíle v jednom pracovním prostoru (iOS, tvOS, watchOS).
ID týmu teamId
-
string
. Volitelný. Používá se při signingOption = auto
.
Vyžaduje se, pokud jste členem více vývojových týmů. Určuje 10místné ID vývojového týmu.
cílové platformy destinationPlatformOption
-
string
. Povolené hodnoty: default
, iOS
(iOS a watchOS), tvOS
, macOS
, custom
. Výchozí hodnota: default
.
Určuje platformu cílového zařízení, která se používá k testování uživatelského rozhraní, pokud obecné zařízení sestavení není platné. Zvolte Custom
, pokud chcete zadat platformu, která není součástí tohoto seznamu. Pokud je vybrán Default
, nejsou cíleny žádné simulátory ani zařízení.
vlastní cílové platformy destinationPlatform
-
string
. Volitelný. Používá se při destinationPlatformOption == custom
.
Určuje platformu cílového zařízení, která se používá k testování uživatelského rozhraní, pokud obecné zařízení sestavení není platné. Zvolte Custom
, pokud chcete zadat platformu, která není součástí seznamu. Když vyberete Default
, nebudou cílit žádné simulátory ani zařízení.
destinationTypeOption
-
typ cíle
string
. Volitelný. Používá se při destinationPlatformOption != default && destinationPlatformOption != macOS
. Povolené hodnoty: simulators
(simulátor), devices
(připojené zařízení). Výchozí hodnota: simulators
.
Určuje cílový typ, který se má použít pro testování uživatelského rozhraní. Zařízení musí být připojená k Počítači Mac provádějícímu sestavení pomocí kabelu nebo síťového připojení. Další informace najdete v tématu Zařízení a simulátory v Xcode.
simulátoru destinationSimulators
-
string
. Volitelný. Používá se při destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators
.
Určuje název simulátoru Xcode, který se používá pro testování uživatelského rozhraní. Například iPhone X
(iOS a watchOS) nebo Apple TV 4K
(tvOS). Volitelnou cílovou verzi operačního systému lze zadat ve formátu OS=<versionNumber>
, například iPhone X,OS=11.1
. Další informace najdete v tomto seznamu simulátorů nainstalovaných na hostovaném agentu macOS.
simulátoru destinationSimulators
-
string
. Volitelný. Používá se při destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators
. Výchozí hodnota: iPhone 7
.
Určuje název simulátoru Xcode, který se používá pro testování uživatelského rozhraní. Například iPhone X
(iOS a watchOS) nebo Apple TV 4K
(tvOS). Volitelnou cílovou verzi operačního systému lze zadat ve formátu OS=<versionNumber>
, například iPhone X,OS=11.1
. Další informace najdete v tomto seznamu simulátorů nainstalovaných na hostovaném agentu macOS.
zařízení destinationDevices
-
string
. Volitelný. Používá se při destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices
.
Určuje název zařízení používaného k testování uživatelského rozhraní, například Raisa's iPad
. V současné době se podporuje jenom jedno zařízení. Všimněte si, že Apple nepovoluje apostrofy ('
) v názvech zařízení. Místo toho lze použít pravé jednoduché uvozovky ('
).
argumentů
string
.
Volitelný. Určuje další argumenty příkazového řádku, se kterými se má sestavit. Tento vstup je užitečný pro zadání -target
nebo -project
argumentů místo pracovního prostoru nebo projektu a schématu. Viz Apple: Sestavování z příkazového řádku pomocí nejčastějších dotazů xcode.
pracovního adresáře
Vstupní alias: cwd
.
string
.
Volitelný. Určuje pracovní adresář, ve kterém se má sestavení spustit. Pokud není zadána žádná hodnota, použije se kořen úložiště.
useXcpretty
-
Použití xcpretty
boolean
. Výchozí hodnota: true
.
Určuje, jestli se má xcpretty
použít k formátování xcodebuild
výstupu.
xcpretty
musí být nainstalované na počítači agenta (předinstaluje se na agentech sestavení hostovaných v Azure Pipelines). Pokud xcpretty
není nainstalovaný, zobrazí se nezpracovaný výstup xcodebuild
. Další informace najdete v xcpretty.
xcprettyArgs
-
argumenty Xcpretty
string
. Volitelný. Používá se při useXcpretty == true
.
Pokud je povolen xcpretty
, tento vstup určuje argumenty pro xcpretty
. Viz seznam argumentů xcpretty naGitHubu .
publishJUnitResults
-
publikování výsledků testů do služby Azure Pipelines
boolean
. Výchozí hodnota: false
.
Určuje, jestli se mají publikovat výsledky testu JUnit do Azure Pipelines. K vygenerování výsledků testu JUnit je potřeba povolit xcpretty
.
testRunTitle
-
název testovacího spuštění
string
. Volitelný. Používá se při publishJUnitResults == true
.
Pokud jsou povolené xcpretty
a publishJUnitResults
, můžete zadat název testovacího spuštění.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádné.
Poznámky
Pomocí této úlohy můžete sestavit, otestovat nebo archivovat pracovní prostor Xcode v systému macOS a volitelně zabalit aplikaci.
Použití více zřizovacích profilů
V současné době neexistuje podpora více zřizovacích profilů pro úlohu Xcode (například pro rozšíření aplikace pro iOS).
Příklady
sestavení aplikace Xcode
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasické sestavení |
Běží na | Agent, DeploymentGroup |
požadavky | Agenti v místním prostředí musí mít schopnosti, které odpovídají následujícím požadavkům ke spouštění úloh, které používají tuto úlohu: xcode |
možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
omezení příkazů | Jakýkoliv |
nastavitelné proměnné | Jakýkoliv |
Verze agenta | Všechny podporované verze agenta. |
Kategorie úkolu | Stavět |