Xcode@4 — задача Xcode версии 4
Используйте эту задачу для создания, тестирования или архивации рабочей области Xcode в macOS и при необходимости упаковки приложения.
Синтаксис
# 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.
Входные данные
actions
- Действия
string
. Обязательный. Значение по умолчанию: build
.
Указывает список действий с разделителями пробелами. Допустимые параметры: build
, clean
, test
, analyze
и archive
. Например,clean build
выполняет чистую сборку. См. статью Apple: Сборка из командной строки с часто задаваемыми вопросами по Xcode.
configuration
- Конфигурации
string
. Значение по умолчанию: $(Configuration)
.
Указывает конфигурацию проекта Xcode или рабочей области для сборки. При использовании переменной укажите значение (например, Release
) на вкладке Переменные .
sdk
- SDK
string
. Значение по умолчанию: $(SDK)
.
Указывает пакет SDK для использования при создании проекта или рабочей области Xcode. В приложении терминала macOS выполните команду xcodebuild -showsdks
, чтобы отобразить допустимый список пакетов SDK. При использовании переменной укажите значение (например, iphonesimulator
) на вкладке Переменные .
xcWorkspacePath
- Путь к рабочей области или проекту
string
. Значение по умолчанию: **/*.xcodeproj/project.xcworkspace
.
Необязательный элемент. Указывает относительный путь от корня репозитория к рабочей области или проекту Xcode. Если задано значение, необходимо также указать схему. Не указывайте значение, если вы указываете -target flag
в расширенных аргументах. Например, MyApp/MyApp.xcworkspace
или MyApp/MyApp.xcodeproj
.
scheme
- Схема
string
.
Необязательный элемент. Задает имя схемы Xcode. Должна быть общей схемой (общий флажок в разделе Управляемые схемы в Xcode). Если схема не указана, а указанная рабочая область имеет одну общую схему, будет использоваться схема рабочей области.
xcodeVersion
- Версия Xcode
string
. Допустимые значения: 8
(Xcode 8), 9
(Xcode 9), default
, specifyPath
(укажите путь). Значение по умолчанию: default
.
Указывает целевую версию Xcode. Выберите Default
, чтобы использовать версию Xcode по умолчанию на компьютере агента. Указание номера версии (например, ) зависит от расположения версии, Xcode 9
задаемой переменными среды на компьютере агента (например, XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer
). Выберите Specify path
, чтобы указать определенный путь к каталогу разработчика Xcode.
xcodeDeveloperDir
- Путь разработчика Xcode
string
. Необязательный элемент. Используйте при xcodeVersion == specifyPath
.
Указывает путь к определенному каталогу разработчика Xcode (например, /Applications/Xcode_9.0.0.app/Contents/Developer
). Эти входные данные полезны, если на компьютере агента установлено несколько версий Xcode.
packageApp
- Создание пакета приложения
boolean
. Значение по умолчанию: false
.
Указывает, следует ли создавать файл пакета приложения IPA как часть сборки.
archivePath
- Путь к архиву
string
. Необязательный элемент. Используйте при packageApp == true
.
Указывает каталог, в котором размещаются созданные архивы.
exportPath
- Путь экспорта
string
. Необязательный элемент. Используйте при packageApp == true
. Значение по умолчанию: output/$(SDK)/$(Configuration)
.
Указывает назначение для продукта, экспортированного из архива.
exportOptions
- Параметры экспорта
string
. Необязательный элемент. Используйте при packageApp == true
. Допустимые значения: auto
(автоматически), plist
, specify
. Значение по умолчанию: auto
.
Задает параметры экспорта архива. Если выбрано значение Automatic
по умолчанию , метод экспорта автоматически обнаруживается из архива. Выберите Plist
, чтобы указать PLIST-файл, содержащий параметры экспорта. Выберите Specify
, чтобы указать конкретный метод экспорта и идентификатор команды.
exportMethod
- Метод export
string
. Требуется при .exportOptions == specify
Значение по умолчанию: development
.
Указывает метод, используемый Xcode для экспорта архива. Например, app-store
, package
, ad-hoc
, enterprise
или development
.
exportTeamId
- Идентификатор команды
string
. Необязательный элемент. Используйте при exportOptions == specify
.
Указывает 10-значный идентификатор команды на портале разработчика Apple, который будет использоваться во время экспорта.
exportOptionsPlist
- Список параметров экспорта
string
. Требуется при .exportOptions == plist
Указывает путь к PLIST-файлу, который содержит параметры для использования во время экспорта.
exportArgs
- Аргументы экспорта
string
. Необязательный элемент. Используйте при packageApp == true
.
Указывает дополнительные аргументы командной строки, используемые во время экспорта.
signingOption
- Стиль подписывания
string
. Допустимые значения: nosign
(не подписывать код), default
(значения по умолчанию в Project), manual
(подписывание вручную), auto
(автоматическое подписывание). Значение по умолчанию: nosign
.
Указывает метод подписывания сборки. Выберите Do not code sign
, чтобы отключить подписывание. Выберите Project defaults
, чтобы использовать только конфигурацию подписывания проекта. Выберите Manual signing
принудительное подписывание вручную и при необходимости укажите удостоверение подписывания и профиль подготовки. Выберите Automatic signing
для принудительного автоматического подписывания и при необходимости укажите идентификатор группы разработчиков. Если для проекта требуется подписывание, используйте задачи Установка Apple... , чтобы установить сертификаты и профили подготовки до сборки Xcode.
signingIdentity
- Удостоверение подписывания
string
. Необязательный элемент. Используйте при signingOption = manual
.
Указывает переопределение удостоверения подписывания, с помощью которого подписывается сборка. Может потребоваться разблокировать цепочку ключей по умолчанию на компьютере агента. Если значение не введено, используется параметр проекта Xcode.
provisioningProfileUuid
- UUID профиля подготовки
string
. Необязательный элемент. Используйте при signingOption = manual
.
Указывает UUID установленного профиля подготовки, используемого для сборки. Используйте отдельные задачи сборки с разными схемами или целевыми объектами, чтобы указать профили подготовки по целевому объекту в одной рабочей области (iOS, tvOS, watchOS).
teamId
- Идентификатор команды
string
. Необязательный элемент. Используйте при signingOption = auto
.
Требуется, если вы являетесь членом нескольких команд разработчиков. Указывает идентификатор группы разработки из 10 символов.
destinationPlatformOption
- Целевая платформа
string
. Допустимые значения: default
, iOS
(iOS и watchOS), tvOS
, macOS
, . custom
Значение по умолчанию: default
.
Указывает платформу конечного устройства, используемую для тестирования пользовательского интерфейса, если универсальное устройство сборки недопустимо. Выберите Custom
, чтобы указать платформу, не включенную в список. Если Default
выбран параметр , ни симуляторы, ни устройства не являются целевыми.
destinationPlatform
- Пользовательская целевая платформа
string
. Необязательный элемент. Используйте при destinationPlatformOption == custom
.
Указывает платформу конечного устройства, используемую для тестирования пользовательского интерфейса, если универсальное устройство сборки недопустимо.
destinationTypeOption
- Тип назначения
string
. Необязательный элемент. Используйте при destinationPlatformOption != default && destinationPlatformOption != macOS
. Допустимые значения: simulators
(симулятор), devices
(подключенное устройство). Значение по умолчанию: simulators
.
Указывает тип назначения, используемый для тестирования пользовательского интерфейса. Устройства должны быть подключены к Компьютеру Mac, выполняющим сборку, через кабельное или сетевое подключение. Дополнительные сведения см. в статье Устройства и симуляторы в Xcode.
destinationSimulators
- Симулятор
string
. Необязательный элемент. Используйте при destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators
. Значение по умолчанию: iPhone 7
.
Указывает имя симулятора Xcode, используемого для тестирования пользовательского интерфейса. Например, iPhone X
(iOS и watchOS) или Apple TV 4K
(tvOS). Необязательная целевая версия ОС может быть указана в формате OS=<versionNumber>
, например iPhone X,OS=11.1
. Дополнительные сведения об установленных симуляторах в размещенном агенте предварительной версии macOS.
destinationDevices
- Устройства
string
. Необязательный элемент. Используйте при destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices
.
Указывает имя устройства, используемого для тестирования пользовательского интерфейса, например Raisa's iPad
.
args
- Аргументы
string
.
Необязательный элемент. Указывает дополнительные аргументы командной строки, с помощью которых выполняется сборка. Эти входные данные полезны для указания -target
аргументов или -project
вместо рабочей области или проекта и схемы. См. статью Apple: Сборка из командной строки с часто задаваемыми вопросами по Xcode.
workingDirectory
- Рабочий каталог
Входной псевдоним: cwd
. string
.
Необязательный элемент. Указывает рабочий каталог, в котором выполняется сборка. Если значение не введено, используется корень репозитория.
outputPattern
- Выходной каталог
string
.
Необязательный элемент. Указывает относительный путь к рабочему каталогу, в котором размещаются выходные данные сборки (двоичные файлы). Пример: output/$(SDK)/$(Configuration)
или output/$(TestSDK)/$(TestConfiguration)
. Пути архивации и экспорта настраиваются отдельно. Укажите значения на вкладке Переменные.
useXcpretty
- Использование xcpretty
boolean
. Значение по умолчанию: false
.
Указывает, следует ли использовать xcpretty
для форматирования xcodebuild
выходных данных, и создает результаты теста JUnit. xcpretty
должен быть установлен на компьютере агента (он предварительно установлен на агентах сборки, размещенных в VSTS). Дополнительные сведения см. в разделе xcpretty .
publishJUnitResults
- Публикация результатов теста в VSTS/TFS
boolean
. Значение по умолчанию: false
.
Если xcpretty
параметр включен, этот вход указывает, следует ли публиковать результаты теста JUnit в VSTS/TFS.
Параметры управления задачами
Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.
Выходные переменные
Нет.
Remarks
Используйте эту задачу для создания рабочей области Xcode в macOS.
Примеры
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка |
Выполняется в | Агент, DeploymentGroup |
Требования | Локальные агенты должны иметь возможности , соответствующие следующим требованиям для выполнения заданий, использующих эту задачу: xcode |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | Все поддерживаемые версии агента. |
Категория задач | Сборка |