Xcode@2 — zadanie kompilacji Xcode w wersji 2
To zadanie służy do kompilowania obszaru roboczego Xcode w systemie macOS.
Składnia
# Xcode Build v2
# Build an Xcode workspace on Mac OS.
- task: Xcode@2
inputs:
actions: 'build' # string. Required. Actions. Default: build.
#configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
#sdk: '$(SDK)' # string. SDK. Default: $(SDK).
#xcWorkspacePath: '**/*.xcodeproj/*.xcworkspace' # string. Workspace/Project Path. Default: **/*.xcodeproj/*.xcworkspace.
#scheme: # string. Scheme.
#packageApp: true # boolean. Create App Package. Default: true.
# Package Options
packageTool: 'xcodebuild' # 'xcrun' | 'xcodebuild'. Required. Create Package (IPA) using. Default: xcodebuild.
#archivePath: # string. Optional. Use when packageTool == xcodebuild. Archive Path.
#exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageTool == xcodebuild. Export Path. Default: output/$(SDK)/$(Configuration).
#exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageTool == xcodebuild. 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.
# Signing & Provisioning
#xcode8AutomaticSigning: false # boolean. Automatic Signing. Default: false.
#teamId: # string. Optional. Use when xcode8AutomaticSigning = true. Team ID.
#signMethod: 'file' # 'file' | 'id'. Override Using. Default: file.
#iosSigningIdentity: # string. Optional. Use when signMethod = id. Signing Identity.
#unlockDefaultKeychain: false # boolean. Optional. Use when signMethod = id. Unlock Default Keychain. Default: false.
#defaultKeychainPassword: # string. Optional. Use when signMethod = id. Default Keychain Password.
#provProfileUuid: # string. Optional. Use when signMethod = id. Provisioning Profile UUID.
#p12: # string. Optional. Use when signMethod = file. P12 Certificate File.
#p12pwd: # string. Optional. Use when signMethod = file. P12 Password.
#provProfile: # string. Optional. Use when signMethod = file. Provisioning Profile File.
#removeProfile: false # boolean. Optional. Use when signMethod = file. Remove Profile After Build. Default: false.
# Advanced
#args: # string. Arguments.
#cwd: # string. Working Directory.
outputPattern: 'output/$(SDK)/$(Configuration)' # string. Required. Output Directory. Default: output/$(SDK)/$(Configuration).
#xcodeDeveloperDir: # string. Xcode Developer Path.
#useXcpretty: false # boolean. Use xcpretty. Default: false.
#publishJUnitResults: false # boolean. Publish to VSTS/TFS. Default: false.
# xctool (deprecated)
#useXctool: # boolean. Use xctool.
#xctoolReporter: # string. xctool Test Reporter Format.
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ład build clean
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)
.
Kompiluje projekt Xcode lub obszar roboczy dla określonego zestawu SDK. Uruchom polecenie , xcodebuild -showsdks
aby wyświetlić prawidłową listę zestawów SDK.
xcWorkspacePath
- Ścieżka obszaru roboczego/projektu
string
. Wartość domyślna: **/*.xcodeproj/*.xcworkspace
.
Opcjonalny. Określa ścieżkę względną z katalogu głównego repozytorium do obszaru roboczego lub projektu Xcode. Na przykład: MyApp/MyApp.xcworkspace
lub MyApp/MyApp.xcworkspace/MyApp.xcodeproj
.
Pozostaw wartość pustą, jeśli zamierzasz używać -target flag
w obszarze Argumenty zaawansowane.
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). Wymagane, jeśli określono obszar roboczy.
packageApp
- Tworzenie pakietu aplikacji
boolean
. Wartość domyślna: true
.
Określa, czy usługa IPA jest generowana w ramach kompilacji. Aby wyeksportować archiwa z programem Xcode 7 i Xcode 8, zapoznaj się z dodatkowymi danymi wejściowymi w sekcji Opcje pakietu .
packageTool
- Tworzenie pakietu (IPA) przy użyciu polecenia
string
. Wymagane. Dozwolone wartości: xcrun
(xcrun (przestarzałe przez firmę Apple)), xcodebuild
(archiwum xcodebuild i eksport). Wartość domyślna: xcodebuild
.
Określa narzędzie do użycia do generowania usługi IPA.
archivePath
- Ścieżka archiwum
string
. Opcjonalny. Użyj polecenia , gdy packageTool == xcodebuild
.
Określa katalog, w którym są umieszczane utworzone archiwa.
exportPath
- Ścieżka eksportu
string
. Opcjonalny. Użyj polecenia , gdy packageTool == xcodebuild
. Wartość domyślna: output/$(SDK)/$(Configuration)
.
Określa miejsce docelowe produktu wyeksportowanego z archiwum.
exportOptions
- Opcje eksportu
string
. Opcjonalny. Użyj polecenia , gdy packageTool == xcodebuild
. Dozwolone wartości: auto
, , specify
plist
. Wartość domyślna: auto
.
Określa sposób przekazywania opcji eksportu podczas eksportowania archiwum.
exportMethod
- Export, metoda
string
. Wymagane, gdy exportOptions == specify
. Wartość domyślna: development
.
Określa metodę Xcode używa do wyeksportowania archiwum. Na przykład , app-store
, package
, ad-hoc
, enterprise
lub development
.
exportTeamId
- Identyfikator zespołu
string
. Opcjonalny. Użyj polecenia , gdy exportOptions == specify
.
Określa identyfikator zespołu portalu deweloperów firmy Apple 10-cyfrowy do użycia na potrzeby eksportu.
exportOptionsPlist
- Opcje eksportu plist
string
. Wymagane, gdy exportOptions == plist
.
Określa ścieżkę do pliku plist, który konfiguruje eksportowanie archiwum.
xcode8AutomaticSigning
- Automatyczne podpisywanie
boolean
. Wartość domyślna: false
.
Użyj tych danych wejściowych, jeśli masz projekt Xcode 8 lub Xcode 9 skonfigurowany do automatycznego podpisywania.
teamId
- Identyfikator zespołu
string
. Opcjonalny. Użyj polecenia , gdy xcode8AutomaticSigning = true
.
Określa 10-cyfrowy identyfikator zespołu deweloperów. Jest to wymagane, jeśli jesteś członkiem wielu zespołów programistycznych.
signMethod
- Przesłoń przy użyciu polecenia
string
. Dozwolone wartości: file
(Zawartość pliku), id
(Identyfikatory). Wartość domyślna: file
.
Użyj tych danych wejściowych, jeśli kompilacja używa metody podpisywania lub aprowizacji innej niż domyślna. Wybierz File Contents
opcję użycia certyfikatu P12 i profilu aprowizacji. Wybierz Identifiers
opcję pobrania ustawień podpisywania z domyślnych profilów łańcucha kluczy i wstępnie zainstalowanych profilów. Pozostaw odpowiednie pola puste, jeśli nie chcesz zastąpić domyślnych ustawień kompilacji.
iosSigningIdentity
- Tożsamość podpisywania
string
. Opcjonalny. Użyj polecenia , gdy signMethod = id
.
Określa zastępowanie tożsamości podpisywania, które jest używane do podpisywania kompilacji. Ustawienie domyślne dla ustawienia projektu Xcode. Może być konieczne wybranie odblokowywania domyślnego pęku kluczy.
unlockDefaultKeychain
- Odblokowywanie domyślnego łańcucha kluczy
boolean
. Opcjonalny. Użyj polecenia , gdy signMethod = id
. Wartość domyślna: false
.
Usuwa błędy interakcji użytkownika , odblokowując domyślny pęk kluczy.
defaultKeychainPassword
- Domyślne hasło łańcucha kluczy
string
. Opcjonalny. Użyj polecenia , gdy signMethod = id
.
Określa hasło do odblokowania domyślnego łańcucha kluczy.
provProfileUuid
- Identyfikator UUID profilu aprowizacji
string
. Opcjonalny. Użyj polecenia , gdy signMethod = id
.
Określa identyfikator UUID zainstalowanego profilu aprowizacji do użycia dla kompilacji. Użyj oddzielnych zadań kompilacji z różnymi schematami lub elementami docelowymi, aby określić profile aprowizacji według lokalizacji docelowej w jednym obszarze roboczym (iOS, WatchKit, tvOS).
p12
- Plik certyfikatu P12
string
. Opcjonalny. Użyj polecenia , gdy signMethod = file
.
Określa ścieżkę względną do pliku certyfikatu PKCS12 sformatowanego P12, który zawiera certyfikat podpisywania do użycia na potrzeby kompilacji.
p12pwd
- Hasło P12
string
. Opcjonalny. Użyj polecenia , gdy signMethod = file
.
Określa hasło do pliku certyfikatu P12, jeśli zostanie określony. Użyj zmiennej kompilacji do szyfrowania.
provProfile
- Plik profilu aprowizacji
string
. Opcjonalny. Użyj polecenia , gdy signMethod = file
.
Określa ścieżkę względną do pliku zawierającego przesłonięcia profilu aprowizacji do użycia dla kompilacji. Użyj oddzielnych zadań kompilacji z różnymi schematami lub elementami docelowymi, aby określić profile aprowizacji według lokalizacji docelowej w jednym obszarze roboczym (iOS, WatchKit, tvOS).
removeProfile
- Usuń profil po kompilacji
boolean
. Opcjonalny. Użyj polecenia , gdy signMethod = file
. Wartość domyślna: false
.
Usuwa zawartość pliku profilu aprowizacji z agenta kompilacji po zakończeniu kompilacji. Sprawdź tylko, czy używasz jednego agenta na użytkownika.
args
- Argumenty
string
.
Określa dodatkowe argumenty wiersza polecenia używane do kompilowania. Te dane wejściowe są przydatne, jeśli chcesz użyć -target
lub -project
zamiast określać obszar roboczy i schemat.
cwd
- Katalog roboczy
string
.
Określa katalog roboczy dla przebiegów kompilacji. Domyślnie jest to katalog główny repozytorium.
outputPattern
- Katalog wyjściowy
string
. Wymagane. Wartość domyślna: output/$(SDK)/$(Configuration)
.
Określa ścieżkę względną, w której są umieszczane dane wyjściowe kompilacji (pliki binarne).
xcodeDeveloperDir
- Ścieżka dewelopera Xcode
string
.
Opcjonalny. Określa ścieżkę do folderu Xcode Developer, jeśli nie jest to domyślny system. Do użycia, gdy w systemie jest zainstalowanych wiele wersji programu Xcode. Na przykład: /Applications/Xcode 7.app/Contents/Developer
.
useXcpretty
- Korzystanie z elementu xcpretty
boolean
. Wartość domyślna: false
.
Formatuje xcodebuild
dane wyjściowe i generuje raport wyników testu JUnit. Należy zainstalować na hostach agentów. Dowiedz się więcej o xcpretty.
publishJUnitResults
- Publikowanie w usłudze VSTS/TFS
boolean
. Wartość domyślna: false
.
Wyniki testów JUnit, które zostały utworzone przy użyciu xctool
, są publikowane w usłudze VSTS/TFS.
useXctool
- Korzystanie z narzędzia xctool
boolean
.
Używa xctool
zamiast .xcodebuild
Należy zainstalować na hostach agentów. Dowiedz się więcej o narzędziu xctool.
Uwaga:xctool
jest przestarzały i nie działa z programem Xcode 8.
xctoolReporter
- xctool Test Reporter Format
string
.
Testuje format reportera, aby używać, gdy jest określona akcja testowa i jest sprawdzana wartość Użyj narzędzia xctool . Określ junit:output-file-path-here.xml
, aby wygenerować format pliku zgodny z zadaniem Publikuj wyniki testu. Po określeniu zwykły jest automatycznie dodawany. xctool
musi być zainstalowany na hostach agentów. Dowiedz się więcej o narzędziu xctool.
Uwaga:xctool
jest przestarzały i nie działa z programem Xcode 8.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, kompilacja klasyczna |
Działa na | 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 w formie tabeli settable | Dowolne |
Wersja agenta | Wszystkie obsługiwane wersje agentów. |
Kategoria zadania | Kompilacja |