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


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, 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 см. в разделе Параметры пакета .


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.

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


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.

Указывает относительный путь к файлу сертификата 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.


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

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

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

Нет.

Требования

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