Xcode@2 — задача сборки Xcode версии 2
Используйте эту задачу для создания рабочей области Xcode в macOS.
Синтаксис
# 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.
Входные данные
actions
- Действия
string
. Обязательный. Значение по умолчанию: build
.
Указывает список действий с разделителями пробелами. Допустимые параметры: build
, clean
, test
, analyze
и archive
. Например, build clean
выполняет чистую сборку. См. статью Apple: Сборка из командной строки с часто задаваемыми вопросами по Xcode.
configuration
- Конфигурации
string
. Значение по умолчанию: $(Configuration)
.
Указывает конфигурацию проекта Xcode или рабочей области для сборки. При использовании переменной укажите значение (например, Release
) на вкладке Переменные .
sdk
- SDK
string
. Значение по умолчанию: $(SDK)
.
Создает проект Xcode или рабочую область для указанного пакета SDK. Запустите xcodebuild -showsdks
, чтобы просмотреть допустимый список пакетов SDK.
xcWorkspacePath
- Путь к рабочей области или проекту
string
. Значение по умолчанию: **/*.xcodeproj/*.xcworkspace
.
Необязательный элемент. Указывает относительный путь от корневого каталога репозитория к рабочей области или проекту Xcode. Пример: MyApp/MyApp.xcworkspace
или MyApp/MyApp.xcworkspace/MyApp.xcodeproj
.
Оставьте пустым, если вы планируете использовать -target flag
в разделе Дополнительные аргументы.
scheme
- Схема
string
.
Необязательный элемент. Указывает имя схемы Xcode. Должна быть общей схемой (общий флажок в разделе Управляемые схемы в Xcode). Требуется, если указана рабочая область.
packageApp
- Создание пакета приложения
boolean
. Значение по умолчанию: true
.
Указывает, создается ли IPA как часть сборки. Сведения об экспорте архивов с помощью Xcode 7 и Xcode 8 см. в разделе Параметры пакета .
packageTool
- Создание пакета (IPA) с помощью
string
. Обязательный. Допустимые значения: xcrun
(xcrun (не рекомендуется apple)), xcodebuild
(архив xcodebuild и экспорт). Значение по умолчанию: xcodebuild
.
Указывает средство, используемое для создания IPA.
archivePath
- Путь к архиву
string
. Необязательный элемент. Используйте при packageTool == xcodebuild
.
Указывает каталог, в котором размещаются созданные архивы.
exportPath
- Путь экспорта
string
. Необязательный элемент. Используйте при packageTool == xcodebuild
. Значение по умолчанию: output/$(SDK)/$(Configuration)
.
Указывает назначение для продукта, экспортированного из архива.
exportOptions
- Параметры экспорта
string
. Необязательный элемент. Используйте при packageTool == xcodebuild
. Допустимые значения: auto
, plist
, specify
. Значение по умолчанию: auto
.
Указывает способ передачи параметров экспорта при экспорте архива.
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-файлу, который настраивает экспорт архива.
xcode8AutomaticSigning
- Автоматическое подписывание
boolean
. Значение по умолчанию: false
.
Используйте эти входные данные, если у вас есть проект Xcode 8 или Xcode 9, настроенный для автоматического подписывания.
teamId
- Идентификатор команды
string
. Необязательный элемент. Используйте при xcode8AutomaticSigning = true
.
Указывает 10-значный идентификатор команды разработчика. Это необходимо, если вы являетесь членом нескольких команд разработчиков.
signMethod
- Переопределение с помощью
string
. Допустимые значения: file
(содержимое файла), id
(идентификаторы). Значение по умолчанию: file
.
Используйте эти входные данные, если в сборке используется метод подписывания или подготовки, отличный от метода по умолчанию. Выберите File Contents
сертификат P12 и профиль подготовки. ВыберитеIdentifiers
, чтобы получить параметры подписывания из связка ключей по умолчанию и предварительно установленных профилей. Оставьте соответствующие поля пустыми, если вы не хотите переопределять параметры сборки по умолчанию.
iosSigningIdentity
- Удостоверение подписывания
string
. Необязательный элемент. Используйте при signMethod = id
.
Указывает переопределение удостоверения подписывания, которое используется для подписывания сборки. По умолчанию используется параметр проекта Xcode. Возможно, потребуется выбрать цепочку ключей по умолчанию.
unlockDefaultKeychain
- Разблокировка цепочки ключей по умолчанию
boolean
. Необязательный элемент. Используйте при signMethod = id
. Значение по умолчанию: false
.
Устраняет ошибки взаимодействия с пользователем, не разрешенные путем разблокировки связка ключей по умолчанию.
defaultKeychainPassword
- Пароль цепочки ключей по умолчанию
string
. Необязательный элемент. Используйте при signMethod = id
.
Указывает пароль для разблокировки связка ключей по умолчанию.
provProfileUuid
- UUID профиля подготовки
string
. Необязательный элемент. Используйте при signMethod = id
.
Указывает UUID установленного профиля подготовки, который будет использоваться для сборки. Используйте отдельные задачи сборки с разными схемами или целевыми объектами, чтобы указать профили подготовки по целевому объекту в одной рабочей области (iOS, WatchKit, tvOS).
p12
- Файл сертификата P12
string
. Необязательный элемент. Используйте при signMethod = file
.
Указывает относительный путь к файлу сертификата P12 в формате PKCS12, который содержит сертификат подписи, используемый для сборки.
p12pwd
- Пароль P12
string
. Необязательный элемент. Используйте при signMethod = file
.
Указывает пароль к файлу сертификата P12, если он указан. Используйте переменную сборки для шифрования.
provProfile
- Файл профиля подготовки
string
. Необязательный элемент. Используйте при signMethod = file
.
Указывает относительный путь к файлу с переопределением профиля подготовки, который будет использоваться для сборки. Используйте отдельные задачи сборки с разными схемами или целевыми объектами, чтобы указать профили подготовки по целевому объекту в одной рабочей области (iOS, WatchKit, tvOS).
removeProfile
- Удаление профиля после сборки
boolean
. Необязательный элемент. Используйте при signMethod = file
. Значение по умолчанию: false
.
Удаляет содержимое файла профиля подготовки из агента сборки после завершения сборки. Только проверка, если вы используете один агент на пользователя.
args
- Аргументы
string
.
Указывает дополнительные аргументы командной строки, используемые для сборки. Эти входные данные полезны, если вы хотите использовать -target
или -project
вместо указания рабочей области и схемы.
cwd
- Рабочий каталог
string
.
Указывает рабочий каталог для выполнения сборки. По умолчанию используется корневой каталог репозитория.
outputPattern
- Выходной каталог
string
. Обязательный. Значение по умолчанию: output/$(SDK)/$(Configuration)
.
Указывает относительный путь, по которому размещаются выходные данные сборки (двоичные файлы).
xcodeDeveloperDir
- Путь разработчика Xcode
string
.
Необязательный элемент. Указывает путь к папке разработчика Xcode, если это не системное значение по умолчанию. Для использования при установке в системе нескольких версий Xcode. Например: /Applications/Xcode 7.app/Contents/Developer
.
useXcpretty
- Использование xcpretty
boolean
. Значение по умолчанию: false
.
Форматирует xcodebuild
выходные данные и создает отчет о результатах теста JUnit. Должен быть установлен на узлах агентов. Дополнительные сведения о xcpretty.
publishJUnitResults
- Публикация в VSTS/TFS
boolean
. Значение по умолчанию: false
.
Результаты теста JUnit, созданные с помощью xctool
, публикуются в VSTS/TFS.
useXctool
- Использование xctool
boolean
.
Использует xctool
вместо xcodebuild
. Должен быть установлен на узлах агентов. Дополнительные сведения о xctool.
Примечание:xctool
является нерекомендуемой и не работает с Xcode 8.
xctoolReporter
- Формат xctool Test Reporter
string
.
Проверяет формат отчетов, используемый при указании тестового действия и установке флажка Использовать xctool . Укажите junit:output-file-path-here.xml
, чтобы создать формат файла, совместимый с задачей Публикация результатов теста. Если этот параметр указан, обычный автоматически добавляется. xctool
должен быть установлен на узлах агентов. Дополнительные сведения о xctool.
Примечание:xctool
является нерекомендуемой и не работает с Xcode 8.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.
Выходные переменные
Нет.
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка |
Выполняется в | Агент, DeploymentGroup |
Требования | Локальные агенты должны иметь возможности , соответствующие следующим требованиям для выполнения заданий, использующих эту задачу: xcode |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | Все поддерживаемые версии агента. |
Категория задач | Сборка |