Xcode@4: tarea Xcode v4
Use esta tarea para compilar, probar o archivar un área de trabajo de Xcode en macOS y, opcionalmente, empaquetar una aplicación.
Sintaxis
# 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.
Entradas
actions
- Acciones
string
. Obligatorio. Valor predeterminado: build
.
Especifica una lista delimitada por espacios de acciones. Las opciones válidas son build
, clean
, test
, analyze
y archive
. Por ejemplo,clean build
realiza una compilación limpia. Consulte las preguntas más frecuentes de Apple: Compilación desde la línea de comandos con Xcode.
configuration
- Configuración
string
. Valor predeterminado: $(Configuration)
.
Especifica la configuración del proyecto o del área de trabajo de Xcode que se va a compilar. Al usar una variable, especifique un valor (por ejemplo, Release
) en la pestaña Variables .
sdk
- SDK
string
. Valor predeterminado: $(SDK)
.
Especifica un SDK que se usará al compilar el proyecto o el área de trabajo de Xcode. En la aplicación terminal de macOS, ejecute xcodebuild -showsdks
para mostrar la lista válida de SDK. Al usar una variable, especifique un valor (por ejemplo, iphonesimulator
) en la pestaña Variables .
xcWorkspacePath
- Ruta de acceso del área de trabajo o del proyecto
string
. Valor predeterminado: **/*.xcodeproj/project.xcworkspace
.
Opcional. Especifica una ruta de acceso relativa de la raíz del repositorio al área de trabajo o proyecto de Xcode. Si especifica un valor, también debe especificar el esquema . No especifique un valor si está especificando -target flag
en Argumentos avanzados. Por ejemplo, MyApp/MyApp.xcworkspace
o MyApp/MyApp.xcodeproj
.
scheme
- Esquema
string
.
Opcional. Especifica un nombre de esquema Xcode. Debe ser un esquema compartido (casilla compartida en Esquemas administrados en Xcode). Si no especifica un esquema y el área de trabajo especificada tiene un único esquema compartido, se usará el esquema del área de trabajo.
xcodeVersion
- Versión de Xcode
string
. Valores permitidos: 8
(Xcode 8), 9
(Xcode 9), default
, specifyPath
(Especificar ruta de acceso). Valor predeterminado: default
.
Especifica la versión de destino de Xcode. Seleccione Default
esta opción para usar la versión predeterminada de Xcode en el equipo del agente. Especificar un número de versión (por ejemplo, Xcode 9
) se basa en la ubicación de la versión que deben establecer las variables de entorno en el equipo del agente (por ejemplo, XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer
). Seleccione Specify path
esta opción para proporcionar una ruta de acceso específica al directorio para desarrolladores de Xcode.
xcodeDeveloperDir
- Ruta de acceso del desarrollador de Xcode
string
. Opcional. Use cuando xcodeVersion == specifyPath
.
Especifica una ruta de acceso a un directorio de desarrollador de Xcode específico (por ejemplo, /Applications/Xcode_9.0.0.app/Contents/Developer
). Esta entrada es útil cuando se instalan varias versiones de Xcode en el equipo del agente.
packageApp
- Creación de un paquete de aplicación
boolean
. Valor predeterminado: false
.
Especifica si se debe generar un archivo de paquete de aplicación IPA como parte de la compilación.
archivePath
- Ruta de acceso de archivo
string
. Opcional. Use cuando packageApp == true
.
Especifica un directorio donde se colocan los archivos creados.
exportPath
- Ruta de acceso de exportación
string
. Opcional. Use cuando packageApp == true
. Valor predeterminado: output/$(SDK)/$(Configuration)
.
Especifica el destino del producto exportado desde el archivo.
exportOptions
- Opciones de exportación
string
. Opcional. Use cuando packageApp == true
. Valores permitidos: auto
(Automático), plist
, specify
. Valor predeterminado: auto
.
Especifica las opciones para exportar el archivo. Cuando se selecciona el valor predeterminado de Automatic
, el método de exportación se detecta automáticamente desde el archivo. Seleccione Plist
esta opción para especificar un archivo plist que contenga las opciones de exportación. Seleccione Specify
esta opción para proporcionar un método export y un identificador de equipo específicos.
exportMethod
- Método Export
string
. Obligatorio cuando exportOptions == specify
. Valor predeterminado: development
.
Especifica el método que Xcode usa para exportar el archivo. Por ejemplo, app-store
, package
, ad-hoc
, enterprise
o development
.
exportTeamId
- Id. de equipo
string
. Opcional. Use cuando exportOptions == specify
.
Especifica el identificador de equipo de 10 caracteres del Portal para desarrolladores de Apple que se usará durante la exportación.
exportOptionsPlist
- Opciones de exportación plist
string
. Obligatorio cuando exportOptions == plist
.
Especifica la ruta de acceso al archivo plist que contiene las opciones que se usarán durante la exportación.
exportArgs
- Exportar argumentos
string
. Opcional. Use cuando packageApp == true
.
Especifica argumentos de línea de comandos adicionales usados durante la exportación.
signingOption
- Estilo de firma
string
. Valores permitidos: nosign
(No firmar código), default
(valores predeterminados de Project), manual
(firma manual), auto
(firma automática). Valor predeterminado: nosign
.
Especifica el método para firmar la compilación. Seleccione Do not code sign
esta opción para deshabilitar la firma. Seleccione Project defaults
esta opción para usar solo la configuración de firma del proyecto. Seleccione Manual signing
esta opción para forzar la firma manual y, opcionalmente, especifique una identidad de firma y un perfil de aprovisionamiento. Seleccione Automatic signing
esta opción para forzar la firma automática y, opcionalmente, especifique un identificador de equipo de desarrollo. Si el proyecto requiere la firma, use las tareas Instalar Apple... para instalar certificados y perfiles de aprovisionamiento antes de la compilación de Xcode.
signingIdentity
- Identidad de firma
string
. Opcional. Use cuando signingOption = manual
.
Especifica una invalidación de identidad de firma con la que firmar la compilación. Es posible que sea necesario desbloquear la cadena de claves predeterminada en la máquina del agente. Si no se especifica ningún valor, se usa la configuración del proyecto de Xcode.
provisioningProfileUuid
- UUID del perfil de aprovisionamiento
string
. Opcional. Use cuando signingOption = manual
.
Especifica el UUID de un perfil de aprovisionamiento instalado que se usa para la compilación. Use tareas de compilación independientes con diferentes esquemas o destinos para especificar perfiles de aprovisionamiento por destino en una sola área de trabajo (iOS, tvOS, watchOS).
teamId
- Id. de equipo
string
. Opcional. Use cuando signingOption = auto
.
Requerido si es miembro de varios equipos de desarrollo. Especifica el identificador del equipo de desarrollo de 10 caracteres.
destinationPlatformOption
- Plataforma de destino
string
. Valores permitidos: default
, iOS
(iOS y watchOS), tvOS
, macOS
, custom
. Valor predeterminado: default
.
Especifica la plataforma del dispositivo de destino que se usa para las pruebas de interfaz de usuario cuando el dispositivo de compilación genérico no es válido. Elija Custom
especificar una plataforma no incluida en la lista. Cuando Default
se selecciona , no se selecciona ningún simulador o dispositivo.
destinationPlatform
- Plataforma de destino personalizada
string
. Opcional. Use cuando destinationPlatformOption == custom
.
Especifica la plataforma de un dispositivo de destino que se usa para las pruebas de interfaz de usuario cuando el dispositivo de compilación genérico no es válido.
destinationTypeOption
- Tipo de destino
string
. Opcional. Use cuando destinationPlatformOption != default && destinationPlatformOption != macOS
. Valores permitidos: simulators
(simulador), devices
(dispositivo conectado). Valor predeterminado: simulators
.
Especifica el tipo de destino que se usa para las pruebas de interfaz de usuario. Los dispositivos deben estar conectados al Equipo Mac que realiza la compilación a través de un cable o una conexión de red. Consulte Dispositivos y simuladores en Xcode para obtener más información.
destinationSimulators
- Simulador
string
. Opcional. Use cuando destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators
. Valor predeterminado: iPhone 7
.
Especifica un nombre del simulador de Xcode que se usa para las pruebas de interfaz de usuario. Por ejemplo, iPhone X
(iOS y watchOS) o Apple TV 4K
(tvOS). Se puede especificar una versión opcional del sistema operativo de destino con el formato OS=<versionNumber>
, como iPhone X,OS=11.1
. Obtenga más información sobre los simuladores instalados en el agente de versión preliminar de macOS hospedado.
destinationDevices
- Dispositivo
string
. Opcional. Use cuando destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices
.
Especifica el nombre del dispositivo usado para las pruebas de interfaz de usuario, como Raisa's iPad
.
args
- Argumentos
string
.
Opcional. Especifica argumentos de línea de comandos adicionales con los que se va a compilar. Esta entrada es útil para especificar -target
o -project
argumentos en lugar de un área de trabajo o un proyecto y un esquema. Consulte las preguntas más frecuentes sobre Apple: Compilación desde la línea de comandos con Xcode.
workingDirectory
- Directorio de trabajo
Alias de entrada: cwd
. string
.
Opcional. Especifica el directorio de trabajo en el que se va a ejecutar la compilación. Si no se especifica ningún valor, se usa la raíz del repositorio.
outputPattern
- Directorio de salida
string
.
Opcional. Especifica una ruta de acceso relativa al directorio de trabajo donde se colocan los resultados de compilación (binarios). Por ejemplo, output/$(SDK)/$(Configuration)
o output/$(TestSDK)/$(TestConfiguration)
. Las rutas de acceso de archivo y exportación se configuran por separado. Especifique valores en la pestaña Variables.
useXcpretty
- Uso de xcpretty
boolean
. Valor predeterminado: false
.
Especifica si se va a usar xcpretty
para dar formato xcodebuild
a la salida y genera resultados de prueba de JUnit. xcpretty
debe instalarse en el equipo del agente (está preinstalado en agentes de compilación hospedados en VSTS). Consulte xcpretty para obtener más información.
publishJUnitResults
- Publicación de resultados de pruebas en VSTS/TFS
boolean
. Valor predeterminado: false
.
Si xcpretty
está habilitado, esta entrada especifica si se van a publicar los resultados de la prueba de JUnit en VSTS/TFS.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Comentarios
Use esta tarea para compilar un área de trabajo de Xcode en macOS.
Ejemplos
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica |
Se ejecuta en | Agente, DeploymentGroup |
Peticiones | Los agentes autohospedados deben tener funcionalidades que coincidan con las siguientes demandas para ejecutar trabajos que usan esta tarea: xcode |
Capabilities | Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
Restricciones de comandos | Any |
Variables que se pueden establecer | Any |
Versión del agente | Todas las versiones de agente compatibles. |
Categoría de la tarea: | Build |