Xcode@4 — zadanie Xcode w wersji 4
To zadanie służy do kompilowania, testowania lub archiwizowania obszaru roboczego Xcode w systemie macOS i opcjonalnie spakowania aplikacji.
Składnia
# Xcode v4
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@4
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' | '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.
#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.
#outputPattern: # string. Output directory.
#useXcpretty: false # boolean. Use xcpretty. Default: false.
#publishJUnitResults: false # boolean. Publish test results to VSTS/TFS. Default: false.
Dane wejściowe
actions
- Działania
string
. Wymagane. Wartość domyślna: build
.
Określa rozdzielaną spacją listę akcji. Prawidłowe opcje to build
, , clean
, analyze
test
i archive
. Na przykładclean build
wykonuje czystą kompilację. Zobacz artykuł Apple: Building from the command line with Xcode FAQ (Tworzenie z poziomu wiersza polecenia za pomocą języka Xcode — często zadawane pytania).
configuration
- Konfiguracji
string
. Wartość domyślna: $(Configuration)
.
Określa konfigurację projektu Xcode lub obszaru roboczego do skompilowania. W przypadku używania zmiennej określ wartość (na przykład Release
) na karcie Zmienne .
sdk
- SDK
string
. Wartość domyślna: $(SDK)
.
Określa zestaw SDK do użycia podczas kompilowania projektu lub obszaru roboczego Xcode. W aplikacji terminalu systemu macOS uruchom polecenie xcodebuild -showsdks
, aby wyświetlić prawidłową listę zestawów SDK. W przypadku używania zmiennej określ wartość (na przykład iphonesimulator
) na karcie Zmienne .
xcWorkspacePath
- Ścieżka obszaru roboczego lub projektu
string
. Wartość domyślna: **/*.xcodeproj/project.xcworkspace
.
Opcjonalny. Określa ścieżkę względną z katalogu głównego repozytorium do obszaru roboczego lub projektu Xcode. Jeśli określisz wartość, musisz również określić schemat. Nie należy określać wartości w przypadku określania -target flag
w obszarze Argumenty zaawansowane. Na przykład: MyApp/MyApp.xcworkspace
lub MyApp/MyApp.xcodeproj
.
scheme
- Schemat
string
.
Opcjonalny. Określa nazwę schematu Xcode. Musi być schematem udostępnionym (pole wyboru udostępnionego w obszarze Schematy zarządzane w programie Xcode). Jeśli nie określisz schematu, a określony obszar roboczy ma jeden schemat udostępniony, zostanie użyty schemat obszaru roboczego.
xcodeVersion
- Wersja programu Xcode
string
. Dozwolone wartości: 8
(Xcode 8), 9
(Xcode 9), default
, specifyPath
(Określ ścieżkę). Wartość domyślna: default
.
Określa docelową wersję programu Xcode. Wybierz Default
, aby użyć domyślnej wersji programu Xcode na maszynie agenta. Określenie numeru wersji (na przykład Xcode 9
) zależy od lokalizacji wersji, która ma być ustawiana przez zmienne środowiskowe na maszynie agenta (na przykład XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer
). Wybierz Specify path
, aby podać określoną ścieżkę do katalogu dewelopera Xcode.
xcodeDeveloperDir
- Ścieżka dewelopera Xcode
string
. Opcjonalny. Użyj polecenia , gdy xcodeVersion == specifyPath
.
Określa ścieżkę do określonego katalogu dewelopera Xcode (na przykład /Applications/Xcode_9.0.0.app/Contents/Developer
). Te dane wejściowe są przydatne, gdy na maszynie agenta jest zainstalowanych wiele wersji programu Xcode.
packageApp
- Tworzenie pakietu aplikacji
boolean
. Wartość domyślna: false
.
Określa, czy plik pakietu aplikacji IPA powinien zostać wygenerowany w ramach kompilacji.
archivePath
- Ścieżka archiwum
string
. Opcjonalny. Użyj polecenia , gdy packageApp == true
.
Określa katalog, w którym są umieszczane utworzone archiwa.
exportPath
- Ścieżka eksportu
string
. Opcjonalny. Użyj polecenia , gdy packageApp == true
. Wartość domyślna: output/$(SDK)/$(Configuration)
.
Określa miejsce docelowe produktu wyeksportowanego z archiwum.
exportOptions
- Opcje eksportowania
string
. Opcjonalny. Użyj polecenia , gdy packageApp == true
. Dozwolone wartości: auto
(automatyczne), plist
, specify
. Wartość domyślna: auto
.
Określa opcje eksportowania archiwum. Po wybraniu wartości domyślnej Automatic
metoda eksportu jest automatycznie wykrywana z archiwum. Wybierz, Plist
aby określić plik plist zawierający opcje eksportu. Wybierz Specify
, aby podać określoną metodę eksportu i identyfikator zespołu.
exportMethod
- Export, metoda
string
. Wymagane, gdy exportOptions == specify
. Wartość domyślna: development
.
Określa metodę używaną przez program Xcode do wyeksportowania archiwum. Na przykład: app-store
, , ad-hoc
package
, enterprise
lub development
.
exportTeamId
- Identyfikator zespołu
string
. Opcjonalny. Użyj polecenia , gdy exportOptions == specify
.
Określa identyfikator 10-znakowego zespołu portalu dla deweloperów firmy Apple do użycia podczas eksportowania.
exportOptionsPlist
- Opcje eksportu plist
string
. Wymagane, gdy exportOptions == plist
.
Określa ścieżkę do pliku plist zawierającego opcje do użycia podczas eksportowania.
exportArgs
- Eksportowanie argumentów
string
. Opcjonalny. Użyj polecenia , gdy packageApp == true
.
Określa dodatkowe argumenty wiersza polecenia używane podczas eksportowania.
signingOption
- Styl podpisywania
string
. Dozwolone wartości: nosign
(Nie podpisz kodu), default
(Wartości domyślne projektu), manual
(Podpisywanie ręczne), auto
(Automatyczne podpisywanie). Wartość domyślna: nosign
.
Określa metodę podpisywania kompilacji. Wybierz Do not code sign
, aby wyłączyć podpisywanie. Wybierz Project defaults
opcję, aby używać tylko konfiguracji podpisywania projektu. Wybierz Manual signing
, aby wymusić ręczne podpisywanie i opcjonalnie określić tożsamość podpisywania i profil aprowizacji. Wybierz Automatic signing
, aby wymusić automatyczne podpisywanie i opcjonalnie określić identyfikator zespołu deweloperów. Jeśli projekt wymaga podpisania, przed kompilacją programu Xcode użyj zadań Zainstaluj firmę Apple... w celu zainstalowania certyfikatów i profilów aprowizacji.
signingIdentity
- Podpisywanie tożsamości
string
. Opcjonalny. Użyj polecenia , gdy signingOption = manual
.
Określa zastępowanie tożsamości podpisywania, za pomocą której ma być podpisywanie kompilacji. Odblokowanie domyślnego łańcucha kluczy na maszynie agenta może być wymagane. Jeśli nie zostanie wprowadzona żadna wartość, zostanie użyte ustawienie projektu Xcode.
provisioningProfileUuid
- Identyfikator UUID profilu aprowizacji
string
. Opcjonalny. Użyj polecenia , gdy signingOption = manual
.
Określa identyfikator UUID zainstalowanego profilu aprowizacji używanego dla kompilacji. Użyj oddzielnych zadań kompilacji z różnymi schematami lub elementami docelowymi, aby określić profile aprowizacji według celu w jednym obszarze roboczym (iOS, tvOS, watchOS).
teamId
- Identyfikator zespołu
string
. Opcjonalny. Użyj polecenia , gdy signingOption = auto
.
Wymagane, jeśli jesteś członkiem wielu zespołów programistycznych. Określa 10-znakowy identyfikator zespołu deweloperów.
destinationPlatformOption
- Platforma docelowa
string
. Dozwolone wartości: default
, iOS
(iOS i watchOS), tvOS
, macOS
, custom
. Wartość domyślna: default
.
Określa platformę urządzenia docelowego używaną do testowania interfejsu użytkownika, gdy ogólne urządzenie kompilacji jest nieprawidłowe. Wybierz Custom
, aby określić platformę, która nie znajduje się na liście. Po Default
wybraniu opcji nie są przeznaczone żadne symulatory ani urządzenia.
destinationPlatform
- Niestandardowa platforma docelowa
string
. Opcjonalny. Użyj polecenia , gdy destinationPlatformOption == custom
.
Określa platformę urządzenia docelowego używaną do testowania interfejsu użytkownika, gdy ogólne urządzenie kompilacji jest nieprawidłowe.
destinationTypeOption
- Typ miejsca docelowego
string
. Opcjonalny. Użyj polecenia , gdy destinationPlatformOption != default && destinationPlatformOption != macOS
. Dozwolone wartości: simulators
(Symulator), devices
(Połączone urządzenie). Wartość domyślna: simulators
.
Określa typ docelowy używany do testowania interfejsu użytkownika. Urządzenia muszą być podłączone do komputera Mac wykonującego kompilację za pośrednictwem kabla lub połączenia sieciowego. Aby uzyskać więcej informacji, zobacz Urządzenia i symulatory w programie Xcode.
destinationSimulators
- Simulator
string
. Opcjonalny. Użyj polecenia , gdy destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators
. Wartość domyślna: iPhone 7
.
Określa nazwę symulatora Xcode używanego do testowania interfejsu użytkownika. Na przykład iPhone X
(iOS i watchOS) lub Apple TV 4K
(tvOS). Opcjonalną docelową wersję systemu operacyjnego można określić w formacie OS=<versionNumber>
, takim jak iPhone X,OS=11.1
. Dowiedz się więcej o zainstalowanych symulatorach w agencie hostowanej wersji zapoznawczej systemu macOS.
destinationDevices
- Urządzenia
string
. Opcjonalny. Użyj polecenia , gdy destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices
.
Określa nazwę urządzenia używanego do testowania interfejsu użytkownika, na przykład Raisa's iPad
.
args
- Argumenty
string
.
Opcjonalny. Określa dodatkowe argumenty wiersza polecenia, za pomocą których należy skompilować. Te dane wejściowe są przydatne do określania -target
argumentów lub -project
zamiast obszaru roboczego/projektu i schematu. Zobacz artykuł Apple: Building from the command line with Xcode FAQ (Tworzenie z poziomu wiersza polecenia za pomocą narzędzia Xcode — często zadawane pytania).
workingDirectory
- Katalog roboczy
Alias wejściowy: cwd
. string
.
Opcjonalny. Określa katalog roboczy, w którym ma zostać uruchomiona kompilacja. Jeśli żadna wartość nie zostanie wprowadzona, zostanie użyty katalog główny repozytorium.
outputPattern
- Katalog wyjściowy
string
.
Opcjonalny. Określa ścieżkę względną do katalogu roboczego, w którym są umieszczane dane wyjściowe kompilacji (pliki binarne). Na przykład: output/$(SDK)/$(Configuration)
lub output/$(TestSDK)/$(TestConfiguration)
. Ścieżki archiwum i eksportu są konfigurowane oddzielnie. Określ wartości na karcie Zmienne.
useXcpretty
- Korzystanie z narzędzia xcpretty
boolean
. Wartość domyślna: false
.
Określa, czy ma być używany xcpretty
do formatowania xcodebuild
danych wyjściowych i generuje wyniki testu JUnit. xcpretty
Musi być zainstalowany na maszynie agenta (jest on wstępnie zainstalowany na hostowanych agentach kompilacji usługi VSTS). Aby uzyskać więcej informacji, zobacz xcpretty .
publishJUnitResults
- Publikowanie wyników testów w usługach VSTS/TFS
boolean
. Wartość domyślna: false
.
Jeśli xcpretty
to ustawienie jest włączone, dane wejściowe określają, czy opublikować wyniki testu JUnit w usługach VSTS/TFS.
Opcje sterowania zadaniami
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
To zadanie służy do tworzenia obszaru roboczego programu Xcode w systemie macOS.
Przykłady
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja |
Działa w | Agent, DeploymentGroup |
Wymagania | Agenci hostowani samodzielnie muszą mieć możliwości zgodne z następującymi wymaganiami dotyczącymi uruchamiania zadań korzystających z tego zadania: xcode |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | Wszystkie obsługiwane wersje agenta. |
Kategoria zadania | Kompilacja |