Compartir a través de


Publicación y descarga de paquetes universales con Azure Pipelines

Azure DevOps Services

Los paquetes universales le permiten empaquetar y compartir cualquier número de archivos, independientemente del tipo, con su equipo o público de destino. Con la tarea Paquete universal en Azure Pipelines, puede empaquetar, publicar y descargar paquetes de hasta 4 TiB. Cada paquete se identifica mediante un nombre único y un número de versión. Puede usar la CLI de Azure o Azure Pipelines para publicar y descargar paquetes de las fuentes de Artifacts.

Nota

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

Prerrequisitos

Producto Requisitos
Azure DevOps - Un proyecto Azure DevOps.
- Permisos:
    - Para conceder acceso a todas las canalizaciones del proyecto, debe ser miembro del Grupo de Administradores del Proyecto .
    - Para crear conexiones de servicio, debe tener el rol de Administrador o Creador para conexiones de servicio.

Copiar archivos

La tarea Paquetes universales de Azure Pipelines usa $(Build.ArtifactStagingDirectory) como ubicación predeterminada para los archivos que desea publicar. Para preparar el paquete universal para su publicación, mueva los archivos que desea publicar en este directorio. También puede usar la tarea de utilidad Copiar archivos para copiar los archivos en el directorio de publicación.

Publicación de un paquete universal

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Pipelines y elija la definición correspondiente.

  3. Seleccione Editary agregue el siguiente fragmento de código a la canalización de YAML.

    - task: UniversalPackages@0
      displayName: Publish
      inputs:
        command: publish
        publishDirectory: '$(Build.ArtifactStagingDirectory)'        ## Location of the files you wish to publish
        vstsFeedPublish: '<PROJECT_NAME>/<FEED_NAME>'                ## The project and feed name to publish to. If you're working with an organization-scoped feed, specify only the feed name
        vstsFeedPackagePublish: '<PACKAGE_NAME>'                     ## The package name. Must be lower case. Use only letters, numbers, and dashes
        packagePublishDescription: '<PACKAGE_DESCRIPTION>'           ## Description of the package content
    

Nota

Para publicar paquetes en un feed desde sus canalizaciones, asegúrese de que tanto la identidad Project Collection Build Service como las identidades del Build Service del proyecto han recibido el rol de Feed Publisher (Contributor) en la configuración del feed. Consulte Administración de permisos para obtener más información.

Control de versiones de paquetes

Los paquetes universales se adhieren al control de versiones semántico, que se basa en tres componentes numéricos: Principal, Secundario y Revisión. El formato de control de versiones es Major.Minor.Patch.

  • La versión menor aumenta cuando se agregan nuevas características que son compatibles con versiones anteriores. En este caso, se incrementa la versión menor y la versión de parche se restablece a 0 (por ejemplo, 1.4.17 a 1.5.0).
  • La versión principal se incrementa cuando hay cambios significativos que podrían interrumpir la compatibilidad con versiones anteriores, restableciendo las versiones secundarias y de revisión a 0 (por ejemplo, 2.6.5 a 3.0.0).
  • La versión de revisión se incrementa cuando se aplican correcciones de errores u otros cambios pequeños que no afectan a la compatibilidad (por ejemplo, 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 versionOption entrada a la tarea UniversalPackages. Las opciones disponibles para publicar una nueva versión 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 del feed y luego incrementan el segmento de versión seleccionado en 1. Por ejemplo, si tiene un paquete testPackage 1.0.0:

  • major Al seleccionar, se actualizará la versión para testPackage 2.0.0.
  • minor Al seleccionar, se actualizará la versión a 1.1.0.
  • Al seleccionar patch , se actualizará la versión a 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
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'             ## Location of the files you wish to publish
    vstsFeedPublish: '<PROJECT_NAME>/<FEED_NAME>'                     ## The project and feed name to publish to. If you're working with an organization-scoped feed, specify only the feed name
    vstsFeedPackagePublish: '<PACKAGE_NAME>'                          ## The package name. Must be lower case. Use only letters, numbers, and dashes
    versionOption: custom                                             ## Select a versioning strategy. Options: `major`, `minor`, `patch`, `custom`
    versionPublish: '<PACKAGE_VERSION>'                               ## The custom package version
    packagePublishDescription: '<PACKAGE_DESCRIPTION>'                ## Description of the package content

Descargar un paquete universal

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Pipelines y elija la definición correspondiente.

  3. Seleccione Editary agregue el siguiente fragmento de código a la canalización de YAML.

    steps:
    - task: UniversalPackages@0
      displayName: Download
      inputs:
        command: download
        vstsFeed: '<PROJECT_NAME>/<FEED_NAME>'                        ## The Artifacts feed hosting the package to be downloaded
        vstsFeedPackage: '<PACKAGE_NAME>'                             ## Name of the package to be downloaded
        vstsPackageVersion: '<PACKAGE_VERSION>'                       ## Version of the package to be downloaded
        downloadDirectory: '$(Build.SourcesDirectory)\someFolder'     ## The download folder. Default value: $(System.DefaultWorkingDirectory).
    

Para descargar un paquete universal desde un origen externo, puede usar el ejemplo siguiente:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    feedsToUse: external                                        ## Set the value to `external` when downloading from an external source 
    externalFeedCredentials: 'MSENG2'                           ## Name of the service connection to the external feed
    feedDownloadExternal: 'fabrikamFeedExternal'                ## Name of the external feed
    packageDownloadExternal: 'fabrikam-package'                 ## The package name you wish to download
    versionDownloadExternal: 1.0.0                              ## The version of the package you wish to download

Sugerencia

Los caracteres comodín pueden utilizarse para descargar la versión más reciente de un paquete universal. Consulte Descargar la versión más reciente para obtener más detalles.