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
, patch
o 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.