Publicar y descargar Universal Packages en Azure Pipelines

Azure Pipelines

Con Universal Packages puede empaquetar cualquier número de archivos de cualquier tipo y compartirlos con su equipo. Con la tarea Paquete universal, puede empaquetar, publicar y descargar paquetes de varios tamaños de hasta 4 TB. Cada paquete se identificará de forma única con un nombre y un número de versión. Los paquetes se pueden publicar y consumir en y desde Artifacts fuente mediante el CLI de Azure o Azure Pipelines.

Nota

Universal Packages solo están disponibles para Azure DevOps Services.

Preparación de un paquete universal

De forma predeterminada, Universal Packages tarea usa como $(Build.ArtifactStagingDirectory) directorio de publicación. Para preparar el paquete universal para su publicación, coloque los archivos que desea publicar en ese directorio. También puede usar la tarea de utilidad Copiar archivos para copiar esos archivos en el directorio de publicación.

Publicación de un paquete universal

Para publicar un paquete universal en la fuente Artifacts, agregue la siguiente tarea al archivo yaml de la canalización.

# Publish a Universal Package
- task: UniversalPackages@0
  displayName: Universal Publish
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    packagePublishDescription: '<Package description>'
Argumento Descripción
publishDirectory Ubicación de los archivos que se publicarán.
vstsFeedPublish Nombre del proyecto y fuente en el que se publicará.
vstsFeedPackagePublish Nombre del paquete. Debe estar en minúsculas. Use solo letras, números y guiones.
packagePublishDescription Descripción del contenido del paquete.

Para publicar paquetes en una fuente Azure Artifacts desde la canalización, debe agregar la identidad del servicio de compilación de recopilación de Project como colaborador desde la configuración de la fuente. Consulte Incorporación de permisos de usuarios o grupos a una fuente para obtener más información.

Para publicar en una fuente externa, primero debe crear una conexión de servicio para que apunte a esa fuente. Consulte Administración de la conexión de servicio para obtener más información.

Control de versiones de paquetes

Universal Packages la especificación de control de versiones semántico y se identifican por sus nombres y números de versión. Los números de versión semántica tienen tres componentes numéricos: Principal, Menor y Revisión: Major.Minor.Patch .

Cuando se publica una nueva característica compatible con versiones anteriores, se incrementa la versión secundaria y se restablece la versión de revisión a 0 ( en ), y cuando se realiza un cambio incompatible con versiones anteriores, se incrementa la versión principal y se restablecen las versiones secundarias y de revisión 1.4.171.5.0 a 0 ( en 2.6.53.0.0 ). El número de versión de revisión debe incrementarse en el caso de corregir un error ( 1.0.0 en 1.0.1 ).

La Universal Packages tarea selecciona automáticamente la siguiente versión principal, secundaria o de revisión automáticamente al publicar un nuevo paquete.

Para habilitar el control de versiones para el paquete, agregue una versionOption entrada al archivo YAML. Las opciones para publicar una nueva versión del paquete son: major , minor , o patchcustom .

La selección custom le permite especificar manualmente la versión del paquete. Las demás opciones obtienen la versión más reciente del paquete de la fuente e incrementan el segmento de versión elegido en 1. Por lo tanto, si tiene un testPackage 1.0.0y selecciona la opción principal, el nuevo paquete será testPackage 2.0.0. Si selecciona la opción secundaria, la versión del paquete será 1.1.0 y, si selecciona la opción de revisión, la versión del paquete será 1.0.1.

Hay que tener en cuenta que, si selecciona la opción, también debe proporcionar un como custom se muestra a versionPublish continuación.

- task: UniversalPackages@0
  displayName: Universal Publish
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    versionOption: custom
    versionPublish: '<Package version>'
    packagePublishDescription: '<Package description>'
Argumento Descripción
publishDirectory Ubicación de los archivos que se publicarán.
vstsFeedPublish Nombre del proyecto y fuente en el que se publicará.
vstsFeedPackagePublish Nombre del paquete.
versionOption Seleccione una estrategia de incremento de versión. Opciones: major , minor , patch , custom
versionPublish La versión del paquete personalizado
packagePublishDescription Descripción del contenido del paquete.

Descarga de un paquete universal

Para descargar un paquete universal de una fuente de su organización, use la tarea Paquete universal con la entrada download de comando de la siguiente manera:

steps:
- task: UniversalPackages@0
  displayName: 'Universal download'
  inputs:
    command: download
    vstsFeed: '<projectName>/<feedName>'
    vstsFeedPackage: '<packageName>'
    vstsPackageVersion: '<packageVersion>'
    downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argumento Descripción
vstsFeed Fuente Artifacts que hospeda el paquete que se va a descargar.
vstsFeedPackage Nombre del paquete que se va a descargar.
vstsPackageVersion Versión del paquete que se va a descargar.
downloadDirectory Carpeta de destino del paquete. Valor predeterminado: $(System.DefaultWorkingDirectory).

Para descargar un paquete universal desde un origen externo, use el siguiente fragmento de código:

steps:
- task: UniversalPackages@0
  displayName: 'Universal download'
  inputs:
    command: download
    feedsToUse: external
    externalFeedCredentials: MSENG2
    feedDownloadExternal: 'fabrikamFeedExternal'
    packageDownloadExternal: 'fabrikam-package'
    versionDownloadExternal: 1.0.0
Argumento Descripción
feedsToUse Establezca el valor en external al descargar desde un origen externo.
externalFeedCredentials Nombre de la conexión de servicio que apunta a la fuente externa. Consulte Conexiones de servicio para obtener más información.
feedDownloadExternal Nombre de la fuente externa.
packageDownloadExternal Nombre del paquete que se va a descargar.
versionDownloadExternal Versión del paquete que se va a descargar.

Nota

Puede usar caracteres comodín en la cadena que pasa al comando de descarga para descargar la versión más reciente de un paquete universal. Consulte Universal Packages inicio rápido para obtener más detalles.

Pasos siguientes