Compartir a través de


Publicación y descarga de paquetes universales con Azure Pipelines

Azure DevOps Services

Los paquetes universales le permiten empaquetar cualquier número de archivos de cualquier tipo y compartirlos con su equipo. Con la tarea Paquete universal de Azure Pipelines, puede empaquetar, publicar y descargar paquetes de varios tamaños, hasta 4 TB. Cada paquete se identifica de forma única con un nombre y un número de versión. Puede usar la CLI de Azure o Azure Pipelines para publicar y consumir paquetes de las fuentes de Artifacts.

Nota

Los paquetes universales solo están disponibles en Azure DevOps Services.

Copiar archivos

La tarea Paquetes universales de Azure Pipelines se establece para usar $(Build.ArtifactStagingDirectory) como directorio de publicación predeterminado. Para preparar el paquete universal para su publicación, mueva 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 tu feed de Azure Artifacts, añade la siguiente tarea al archivo YAML de la canalización.

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  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 desea publicar.
vstsFeedPublish Nombre del proyecto y del feed en el que se publicará. Si trabaja con una fuente con ámbito de organización, especifique solo el nombre de la fuente.
vstsFeedPackagePublish Nombre del paquete. Debe ser en minúsculas. Use solo letras, números y guiones.
packagePublishDescription Descripción del contenido del paquete.

Para publicar paquetes en una fuente de Azure Artifacts desde la canalización, la identidad de la canalización debe tener el rol de Publicador de fuentes (colaborador) en la fuente. Para obtener más información, consulte Permisos de canalizaciones.

Para publicar en un canal externo, primero debe crear una conexión de servicio para autenticarse con su canal. Para obtener más información, consulte Administración de conexiones de servicio.

Control de versiones de paquetes

Los paquetes universales siguen la especificación de control de versiones semántica y se pueden identificar mediante sus nombres y números de versión. Los números de versión semántica se componen de tres componentes numéricos, Major, Minor y Patch, con el formato : Major.Minor.Patch.

El número de versión secundaria se incrementa cuando se agregan características nuevas que son compatibles con versiones anteriores; en este caso, se incrementa la versión secundaria y se restablece la versión de revisión a 0 (1.4.17 a 1.5.0). El número de versión principal se incrementa cuando hay cambios significativos que podrían interrumpir la compatibilidad con versiones anteriores. En este caso, incrementará la versión principal y restablecerá las versiones secundarias y de revisión a 0 (2.6.5 a 3.0.0). El número de versión de revisión debe incrementarse cuando solo se realizan correcciones de errores u otros pequeños cambios que no afectan a la compatibilidad con versiones anteriores (1.0.0 a 1.0.1).

Al publicar un paquete nuevo, la tarea Paquetes universales seleccionará automáticamente la versión principal, secundaria o de revisión siguiente.

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

Al seleccionar custom puede especificar manualmente la versión del paquete. Las otras opciones obtienen la versión más reciente del paquete de tu feed 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 paquete nuevo será testPackage 2.0.0. Si selecciona la opción menor , la versión del paquete será 1.1.0y, si selecciona la opción de revisión , la versión del paquete será 1.0.1.

Si elige la opción custom, también debe especificar un valor de versionPublish como se indica a continuación:

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  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 desea publicar.
vstsFeedPublish Nombre del proyecto y de la fuente en que se va a publicar. Si trabaja con una fuente con ámbito de organización, especifique solo el nombre de la fuente.
vstsFeedPackagePublish Nombre del paquete. Debe ser en minúsculas. Use solo letras, números y guiones.
versionOption Seleccione una estrategia de control de versiones. Opciones: major, minor, patch, custom.
versionPublish Versión personalizada del paquete.
packagePublishDescription Descripción del contenido del paquete.

Descargar un paquete universal

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

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    vstsFeed: '<projectName>/<feedName>'
    vstsFeedPackage: '<packageName>'
    vstsPackageVersion: '<packageVersion>'
    downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argumento Descripción
vstsFeed Fuente de 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.
directorio de descargas 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: Download a Universal Package
  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 a la fuente externa. Para obtener más información, consulte Administración de conexiones de servicio.
feedDownloadExternal Nombre de la fuente externa.
packageDownloadExternal Nombre del paquete que desea descargar.
versionDownloadExternal La versión del paquete que desea descargar.

Sugerencia

Puede usar caracteres comodín para descargar la versión más reciente de un paquete universal. Para obtener más información, consulte Descargar la versión más reciente.