UniversalPackages@0: tarea paquetes universales v0

Use esta tarea para descargar o empaquetar y publicar Universal Packages.

Syntax

# 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 NuGet que se va a ejecutar.


downloadDirectory - Directorio de destino
string. Necesario cuando command = download. Valor predeterminado: $(System.DefaultWorkingDirectory).

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


feedsToUse - Ubicación de fuente
Alias de entrada: internalOrExternalDownload. string. Necesario 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.


feedsToUse - Ubicación de fuente
Alias de entrada: internalOrExternalDownload. string. Necesario cuando command = download. Valores permitidos: internal (esta cuenta/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 - 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 seleccionado NuGet.config. En el caso de las fuentes de esta organización o colección, deje este en blanco; Las credenciales de la compilación se usan automáticamente.


externalFeedCredentials - Conexión de cuenta y 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 seleccionado NuGet.config. En el caso de las fuentes de esta organización o colección, deje este en blanco; Las credenciales de la compilación se usan automáticamente.


vstsFeed - Alimentar
Alias de entrada: feedListDownload. string. Necesario cuando internalOrExternalDownload = internal && command = download.

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


vstsFeedPackage - Nombre del paquete
Alias de entrada: packageListDownload. string. Necesario cuando internalOrExternalDownload = internal && command = download.

Especifica el nombre del paquete para que se descargue la tarea.


vstsPackageVersion - Versión
Alias de entrada: versionListDownload. string. Necesario 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. Necesario cuando internalOrExternalDownload = external && command = download.

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

En el caso de 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 identificador de la fuente. En el caso de las fuentes con ámbito de organización, el valor debe ser solo el nombre de fuente.


feedDownloadExternal - Alimentar
string. Necesario cuando internalOrExternalDownload = external && command = download.

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

En el caso de 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 identificador de la fuente. En el caso de las fuentes con ámbito de organización, el valor debe ser solo el nombre de fuente.


packageDownloadExternal - Nombre del paquete
string. Necesario cuando internalOrExternalDownload = external && command = download.

Especifica el nombre del paquete que se va a descargar.


versionDownloadExternal - Versión
string. Necesario 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 de caracteres comodín no se admiten con paquetes de versión preliminar.


publishDirectory - Ruta de acceso a los archivos que se van a publicar
string. Necesario cuando command = publish. Valor predeterminado: $(Build.ArtifactStagingDirectory).

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


feedsToUsePublish - Ubicación de fuente
Alias de entrada: internalOrExternalPublish. string. Necesario 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.


feedsToUsePublish - Ubicación de fuente
Alias de entrada: internalOrExternalPublish. string. Necesario cuando command = publish. Valores permitidos: internal (esta cuenta/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 - conexión de organización o recopilación
Alias de entrada: externalEndpoints. string. Necesario cuando internalOrExternalPublish = external && command = publish.

Especifica las credenciales que se usarán para fuentes externas.


publishFeedCredentials - Conexión de cuenta y recopilación
Alias de entrada: externalEndpoints. string. Necesario cuando internalOrExternalPublish = external && command = publish.

Especifica las credenciales que se usarán para fuentes externas.


vstsFeedPublish - Fuente de destino
Alias de entrada: feedListPublish. string. Necesario cuando internalOrExternalPublish = internal && command = publish.

Especifica el proyecto y el nombre o GUID de la fuente en el 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 ejecutar # y la información de código fuente) con el paquete.


vstsFeedPackagePublish - Nombre del paquete
Alias de entrada: packageListPublish. string. Necesario 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. Necesario 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 fuente.


feedPublishExternal - Alimentar
string. Necesario 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 fuente.


packagePublishExternal - Nombre del paquete
string. Necesario cuando internalOrExternalPublish = external && command = publish.

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


versionOption - Versión
Alias de entrada: versionPublishSelector. string. Necesario 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 custom que se va a introducir manualmente en la versión del paquete. En el caso de 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 la especificación de control de versiones semánticas para obtener más información.


versionPublish - Versión personalizada
string. Necesario 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 - Detalle
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 - Detalle
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.


publishedPackageVar - Variable de salida del paquete
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 las 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 descargar o empaquetar y publicar Universal Packages.

Mi canalización necesita 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. Para obtener más información, consulte Permisos de paquete en Azure Pipelines.

Ejemplos

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

Los Universal Packages son una manera útil de encapsular y versionar una aplicación web. El empaquetado de una aplicación web en Universal Package 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 Universal Package se usa para descargar la herramienta, ejecutar una compilación y usarla de nuevo para publicar toda la PWA de GatsbyJS compilada en una fuente como paquete universal con versiones.

Captura de pantalla del proyecto de ejemplo.

Descargar un paquete con la tarea Universal Package

La segunda tarea del proyecto de ejemplo usa la tarea Universal Package 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 Universal Package recién agregada y en el comando en Download.

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

  4. Seleccione una fuente de origen que contenga la herramienta, establezca el nombre del paquete y elija Versión de la herramienta imagemagick en la fuente de origen.

    Captura de pantalla de la configuración de la tarea Paquete universal para descargar.

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

    Captura de pantalla de la visualización de YAML.

  6. El generador de tareas Universal Package genera un YAML simplificado que contiene valores no predeterminados. Copie el CÓDIGO YAML generado en azure-pipelines.yml el archivo 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
    

Publicar un paquete con la tarea Universal Package

El último paso de esta canalización de ejemplo usa la tarea Universal Package 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 iniciarse con gatsby serve.

  1. Agregue otra tarea Paquete universal al final de la canalización 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. Esta tarea recopila todos los recursos listos para producción generados por el paso Run gatsby build, genera un Universal Package con versiones y publica el paquete en una fuente.

    Captura de pantalla de la configuración de una tarea paquete universal para publicar.

  2. Establezca el comando para Publish.

  3. Establezca la Ruta de acceso a los archivos para publicar en el directorio que contiene el package.json del 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 para publicar.

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

  6. Copie el YAML resultante en el archivo azure-pipelines.yml como antes. A continuación se muestra el YAML de 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 Pipelines para generar rápidamente el YAML para la tarea Universal Package, que 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 los argumentos de la tarea Universal Package.

Nota:

La publicación de un paquete directamente en una vista no se admite 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
Peticiones None
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 2.144.0 o superior
Categoría de la tarea: Paquete
Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones Ninguno
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 2.115.0 o superior
Categoría de la tarea: Paquete