Поделиться через


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 Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Сборка