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


Xcode@3 — задача сборки Xcode версии 3

Используйте эту задачу для создания рабочей области Xcode в macOS.

Синтаксис

# Xcode Build v3
# Build an Xcode workspace on macOS.
- task: Xcode@3
  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
    #archivePath: # string. Archive Path. 
    #exportPath: 'output/$(SDK)/$(Configuration)' # string. Export Path. Default: output/$(SDK)/$(Configuration).
    #exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. 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. Export Arguments. 
  # 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.

Входные данные

действия actions -
string. Обязательное. Значение по умолчанию: build.

Задает список действий с разделителями пространства. Допустимые параметры: build, clean, testanalyzeи 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, ознакомьтесь с дополнительными входными данными в разделе Параметры пакета.


archivePath - Путь к архиву
string.

Необязательно. Указывает каталог, в котором размещаются созданные архивы.


exportPath - пути экспорта
string. Значение по умолчанию: output/$(SDK)/$(Configuration).

Необязательно. Указывает место назначения для продукта, экспортированного из архива.


exportOptions - параметры экспорта
string. Допустимые значения: auto, plist, specify. Значение по умолчанию: auto.

Задает способ передачи параметров экспорта при экспорте архива.


метода экспорта exportMethod -
string. Требуется, если exportOptions == specify. Значение по умолчанию: development.

Задает метод Xcode, используемый для экспорта архива. Например, app-store, package, ad-hoc, enterpriseили development.


exportTeamId - идентификатор команды
string. Необязательно. Используется при exportOptions == specify.

Указывает идентификатор группы разработчиков Apple Developer Portal 10-значной, используемый для экспорта.


exportOptionsPlist - параметры экспорта Plist
string. Требуется, если exportOptions == plist.

Указывает путь к plist-файлу, который настраивает экспорт архива.


exportArgs - экспорт аргументов
string.

Задает дополнительные аргументы командной строки, используемые для экспорта.


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.

Указывает относительный путь к файлу сертификата PKCS12 с форматированным P12 сертификатом, который содержит сертификат подписи, используемый для сборки.


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).

Указывает относительный путь, по которому помещаются выходные данные сборки (двоичные файлы).


пути разработчика Xcode xcodeDeveloperDir -
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.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.

Выходные переменные

Нет.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка
Выполняется в Агент, DeploymentGroup
требования Локальные агенты должны иметь возможности, которые соответствуют следующим требованиям требуют выполнения заданий, использующих эту задачу: xcode
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента Все поддерживаемые версии агента.
Категория задач Строить