Compartir vía


UniversalPackages@0: tarea Paquetes universales v0

Use esta tarea para descargar o empaquetar y publicar paquetes universales.

Sintaxis

# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed (or Project/Feed if the feed was created in a project). 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed (or Project/Feed if the feed was created in a project). 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
  # Output
    #publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed. 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed. 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
  # Output
    #publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal Packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. Account/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed. 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. Account/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed. 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.

Entradas

command - comando
string. Obligatorio. Valores permitidos: download, publish. Valor predeterminado: download.

Especifica el comando Paquete universal que se va a ejecutar.


de directorio de destino de
string. Obligatorio cuando command = download. Valor predeterminado: $(System.DefaultWorkingDirectory).

Especifica la ruta de acceso de la carpeta donde la tarea descarga el contenido del paquete.


de ubicación de fuente de
Alias de entrada: internalOrExternalDownload. string. Obligatorio cuando command = download. Valores permitidos: internal (esta organización o colección), external (otra organización o colección). Valor predeterminado: internal.

Especifica una fuente de esta colección u otra colección en Azure Artifacts.


de ubicación de fuente de
Alias de entrada: internalOrExternalDownload. string. Obligatorio cuando command = download. Valores permitidos: internal (esta cuenta o colección), external (otra cuenta o colección). Valor predeterminado: internal.

Especifica una fuente de esta colección u otra colección en Azure Artifacts.


externalFeedCredentials - de conexión de organización o recopilación
Alias de entrada: externalEndpoint. string. Opcional. Use cuando internalOrExternalDownload = external && command = download.

Especifica las credenciales que se usarán para los registros externos ubicados en el NuGet.configseleccionado. En el caso de las fuentes de esta organización o colección, deje esto en blanco; Las credenciales de la compilación se usan automáticamente.


externalFeedCredentials - de conexión de cuenta o colección
Alias de entrada: externalEndpoint. string. Opcional. Use cuando internalOrExternalDownload = external && command = download.

Especifica las credenciales que se usarán para los registros externos ubicados en el NuGet.configseleccionado. En el caso de las fuentes de esta organización o colección, deje esto en blanco; Las credenciales de la compilación se usan automáticamente.


de fuente de
Alias de entrada: feedListDownload. string. Obligatorio cuando internalOrExternalDownload = internal && command = download.

Incluye la fuente seleccionada. Debe tener Azure Artifacts instalado y con licencia para seleccionar una fuente aquí. Especifica el FeedName para una fuente con ámbito de organización y projectName/FeedName o projectID/FeedID para una fuente con ámbito de proyecto.


nombre del paquete de
Alias de entrada: packageListDownload. string. Obligatorio cuando internalOrExternalDownload = internal && command = download.

Especifica el nombre del paquete para la tarea que se va a descargar.


vstsPackageVersion - versión
Alias de entrada: versionListDownload. string. Obligatorio cuando internalOrExternalDownload = internal && command = download.

Especifica la versión del paquete o usa una variable que contiene la versión que se va a descargar. Esta entrada también puede ser una expresión comodín, como *, para obtener la versión más alta. Ejemplos: 1.* obtiene la versión más alta con la versión principal 1 y 1.2.* obtiene la versión de revisión más alta con la versión principal 1 y la versión secundaria 2.


feedDownloadExternal - fuente (o Project/Feed si la fuente se creó en un proyecto)
string. Obligatorio cuando internalOrExternalDownload = external && command = download.

Especifica una fuente en otra organización o colección.

Para las fuentes con ámbito de proyecto, el valor debe ser Project/Feed, donde Project es el nombre o el identificador del proyecto, y Feed es el nombre o el identificador de la fuente. En el caso de las fuentes con ámbito de organización, el valor debe ser solo el nombre de la fuente.


de fuente de
string. Obligatorio cuando internalOrExternalDownload = external && command = download.

Especifica una fuente en otra organización o colección.

Para las fuentes con ámbito de proyecto, el valor debe ser Project/Feed, donde Project es el nombre o el identificador del proyecto, y Feed es el nombre o el identificador de la fuente. En el caso de las fuentes con ámbito de organización, el valor debe ser solo el nombre de la fuente.


nombre del paquete de
string. Obligatorio cuando internalOrExternalDownload = external && command = download.

Especifica el nombre del paquete que se va a descargar.


versionDownloadExternal - versión
string. Obligatorio cuando internalOrExternalDownload = external && command = download.

Especifica la versión del paquete o usa una variable que contiene la versión que se va a descargar. Esta entrada también puede ser una expresión comodín, como *, para obtener la versión más alta. Ejemplos: 1.* obtiene la versión más alta con la versión principal 1 y 1.2.* obtiene la versión de revisión más alta con la versión principal 1 y la versión secundaria 2. Los patrones comodín no se admiten con paquetes de versión preliminar.


publishDirectory - Ruta de acceso a archivos para publicar
string. Obligatorio cuando command = publish. Valor predeterminado: $(Build.ArtifactStagingDirectory).

Especifica la ruta de acceso a la lista de archivos que se van a publicar.


de ubicación de fuente de
Alias de entrada: internalOrExternalPublish. string. Obligatorio cuando command = publish. Valores permitidos: internal (esta organización o colección), external (otra organización o colección). Valor predeterminado: internal.

Especifica una fuente de esta colección u otra colección en Azure Artifacts.


de ubicación de fuente de
Alias de entrada: internalOrExternalPublish. string. Obligatorio cuando command = publish. Valores permitidos: internal (esta cuenta o colección), external (otra cuenta o colección). Valor predeterminado: internal.

Especifica una fuente de esta colección u otra colección en Azure Artifacts.


publishFeedCredentials - de conexión de organización o recopilación
Alias de entrada: externalEndpoints. string. Obligatorio cuando internalOrExternalPublish = external && command = publish.

Especifica las credenciales que se van a usar para fuentes externas.


publishFeedCredentials - de conexión de cuenta o colección
Alias de entrada: externalEndpoints. string. Obligatorio cuando internalOrExternalPublish = external && command = publish.

Especifica las credenciales que se van a usar para fuentes externas.


de fuente de destino de
Alias de entrada: feedListPublish. string. Obligatorio cuando internalOrExternalPublish = internal && command = publish.

Especifica el proyecto y el nombre o GUID de la fuente en los que se va a publicar.


publishPackageMetadata - publicación de metadatos de canalización
boolean. Opcional. Use cuando command = publish && internalOrExternalPublish = internal. Valor predeterminado: true.

Asocia los metadatos de esta canalización de compilación o versión (como la información de código fuente y ejecución) con el paquete.


nombre del paquete de
Alias de entrada: packageListPublish. string. Obligatorio cuando internalOrExternalPublish = internal && command = publish.

Especifica un identificador de paquete para publicar o crear un nuevo identificador de paquete si nunca ha publicado una versión de este paquete antes. Los nombres de paquete deben estar en minúsculas y solo pueden usar letras, números y guiones (-).


feedPublishExternal - fuente (o Project/Feed si la fuente se creó en un proyecto)
string. Obligatorio cuando internalOrExternalPublish = external && command = publish.

Especifica el nombre de fuente externo en el que se va a publicar.

Si la fuente se creó en un proyecto, el valor debe ser Project/Feed, donde Project es el nombre o el identificador del proyecto, y Feed es el nombre de la fuente. Si la fuente no se creó en un proyecto, el valor debe ser solo el nombre de la fuente.


de fuente de
string. Obligatorio cuando internalOrExternalPublish = external && command = publish.

Especifica el nombre de fuente externo en el que se va a publicar.

Si la fuente se creó en un proyecto, el valor debe ser Project/Feed, donde Project es el nombre o el identificador del proyecto, y Feed es el nombre de la fuente. Si la fuente no se creó en un proyecto, el valor debe ser solo el nombre de la fuente.


nombre del paquete de
string. Obligatorio cuando internalOrExternalPublish = external && command = publish.

Especifica el nombre del paquete al publicar en una fuente externa.


versionOption - versión
Alias de entrada: versionPublishSelector. string. Obligatorio cuando command = publish. Valores permitidos: major (siguiente principal), minor (siguiente secundaria), patch (Revisión siguiente), custom. Valor predeterminado: patch.

Especifica una estrategia de incremento de versión. Valor de custom para introducir manualmente la versión del paquete. Para los nuevos paquetes, la primera versión será 1.0.0 si especifica major, 0.1.0 si especifica minoro 0.0.1 si especifica patch. Consulte el de especificación de control de versiones semántico de para obtener más información.


versionPublish - versión personalizada
string. Obligatorio cuando versionPublishSelector = custom && command = publish.

Especifica un esquema de versión personalizado para el paquete.


packagePublishDescription - descripción
string. Opcional. Use cuando command = publish.

Especifica la descripción del contenido del paquete o los cambios realizados en esta versión del paquete.


verbosity - verbosity
string. Valores permitidos: None, Trace, Debug, Information, Warning, Error, Critical. Valor predeterminado: None.

Especifica la cantidad de detalles que se muestran en la salida.


verbosity - verbosity
string. Valores permitidos: None, Trace, Debug, Information, Warning, Error, Critical (Citical). Valor predeterminado: None.

Especifica la cantidad de detalles que se muestran en la salida.


variable de salida del paquete de
string. Opcional. Use cuando command = publish.

Especifica un nombre para la variable que contendrá el nombre y la versión del paquete publicados.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Observaciones

Use esta tarea para descargar o empaquetar y publicar paquetes universales.

Mi canalización debe acceder a una fuente en un proyecto diferente

Si la canalización se ejecuta en un proyecto diferente al que hospeda la fuente, debe configurar el otro proyecto para conceder acceso de lectura y escritura al servicio de compilación. Consulte Permisos de paquete en Azure Pipelines para más información.

Ejemplos

La manera más sencilla de empezar a trabajar con la tarea Paquete universal es usar el editor de tareas Canalizaciones para generar yaML. A continuación, puede copiar el código generado en el archivo azure-pipelines.yml del proyecto. En este ejemplo, el ejemplo muestra cómo generar rápidamente yaML mediante una canalización que compila una aplicación web progresiva (PWA) de GatsbyJS.

Los paquetes universales son una manera útil de encapsular y versionar una aplicación web. Empaquetar una aplicación web en un paquete universal permite reversiones rápidas a una versión específica del sitio y elimina la necesidad de compilar el sitio en la canalización de implementación.

En esta canalización de ejemplo se muestra cómo capturar una herramienta de una fuente dentro del proyecto. La tarea Paquete universal se usa para descargar la herramienta, ejecutar una compilación y, de nuevo, usa la tarea Paquete universal para publicar toda la PWA compilada de GatsbyJS en una fuente como un paquete universal con versiones.

Captura de pantalla del proyecto de ejemplo.

Descarga de un paquete con la tarea Paquete universal

La segunda tarea del proyecto de ejemplo usa la tarea Paquete universal para capturar una herramienta, imagemagick, de una fuente que se encuentra dentro de un proyecto diferente de la misma organización. El paso de compilación posterior requiere la herramienta imagemagick para cambiar el tamaño de las imágenes.

  1. Agregue la tarea Paquete universal haciendo clic en el icono de signo más, escribiendo "universal" en el cuadro de búsqueda y haciendo clic en el botón Agregar para agregar la tarea a la canalización.

    Captura de pantalla de la adición de la tarea Paquete universal.

  2. Haga clic en la tarea paquete universal recién agregado y el comando de para .

  3. Elija el directorio destino que se usará para la descarga de la herramienta.

  4. Seleccione un de fuente de origen que contenga la herramienta, establezca elnombre del paquete de y elija Versión de la herramienta imagemagick del origen Fuente.

    Captura de pantalla de la configuración de la tarea Paquete universal que se va a descargar.

  5. Después de completar los campos, haga clic en Ver yaML para ver el YAML generado.

    Captura de pantalla de visualización de YAML.

  6. El generador de tareas paquete universal genera UNML simplificado que contiene valores no predeterminados. Copie el ARCHIVO YAML generado en el archivo azure-pipelines.yml en la raíz del repositorio git del proyecto.

    # Download Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal download'
      inputs:
        downloadDirectory: Application
        vstsFeed: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000001'
        vstsFeedPackage: imagemagick
        vstsPackageVersion: 1.0.0
    

Publicación de un paquete con la tarea Paquete universal

En el último paso de esta canalización de ejemplo se usa la tarea Paquete universal para cargar la PWA de Gatsby lista para producción generada por el paso Run gatsby build a una fuente como un paquete universal con versiones. Una vez en una fuente, tiene una copia permanente del sitio completo que se puede implementar en el proveedor de hospedaje e iniciar con gatsby serve.

  1. Agregue otra tarea Paquete universal al final de la canalización haciendo clic en el icono más, escribiendo "universal" en el cuadro de búsqueda y haciendo clic en el botón Agregar para agregar la tarea a la canalización. Esta tarea recopila todos los recursos listos para producción generados por el paso Run gatsby build, genera un paquete universal con versiones y publica el paquete en una fuente.

    Captura de pantalla de la configuración de una tarea paquete universal que se va a publicar.

  2. Establezca el comando de en .

  3. Establezca Ruta de acceso a los archivos para publicar en el directorio que contiene el package.jsondel proyecto de GatsbyJS.

  4. Elija una fuente de destino, un nombre de paquete y establezca la estrategia de control de versiones.

    Captura de pantalla de la configuración de la tarea Paquete universal que se va a publicar.

  5. Después de completar los campos necesarios, haga clic en Ver YAML.

  6. Copie el ARCHIVO YAML resultante en el archivo azure-pipelines.yml como antes. A continuación se muestra yaML para este proyecto de ejemplo.

    # Publish Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal publish'
      inputs:
        command: publish
        publishDirectory: Application
        vstsFeedPublish: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000002' # You can also use '<projectName>/<feedName>' instead of the GUIDs
        vstsFeedPackagePublish: mygatsbysite
        packagePublishDescription: 'A test package'
    

En este ejemplo se muestra cómo usar el generador de tareas Canalizaciones para generar rápidamente el CÓDIGO YAML para la tarea Paquete universal, que luego se puede colocar en el archivo azure-pipelines.yml. El generador de tareas Paquete universal admite todas las configuraciones avanzadas que se pueden crear con paquete universal argumentos de la tarea.

Nota

No se admite la publicación de un paquete directamente en una vista en Azure Artifacts. Primero debe publicar el paquete en la fuente y, a continuación, promoverlo a una vista.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
demandas Ninguno
funcionalidades de Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
restricciones de comandos Cualquier
variables settable Cualquier
Versión del agente 2.144.0 o superior
Categoría de tarea Paquete
Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
demandas Ninguno
funcionalidades de Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
restricciones de comandos Cualquier
variables settable Cualquier
Versión del agente 2.115.0 o superior
Categoría de tarea Paquete