Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Mediante el uso de Azure Artifacts, puede publicar y restaurar paquetes de Cargo desde sus propias fuentes y registros públicos, como crates.io. Use Azure Artifacts para hospedar crates internos, conectarse a registros de origen y administrar el acceso a los paquetes desde un único feed. Este inicio rápido le guía en la creación de una fuente de distribución, la configuración de su proyecto de Cargo y la publicación y el consumo de paquetes de Cargo mediante Azure Artifacts.
Requisitos previos
| Producto | Requisitos |
|---|---|
| Azure DevOps | - Una organización de Azure DevOps. - Un Azure DevOps project. - Descargar e instalar rustup. Necesita Cargo 1.74.0 o una versión posterior. |
Crear un canal
Si ya tiene una fuente de Azure Artifacts, vaya a la sección siguiente. De lo contrario, siga estos pasos para crear un canal. Azure Artifacts recomienda usar un canal para consumir crates de registros públicos como crates.io y un canal independiente para publicar crates internos.
Inicie sesión en Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, seleccione Crear feed.
Introduzca un Nombre para el canal, elija su Visibilidad y, a continuación, seleccione un Ámbito. Asegúrese de activar la casilla Orígenes ascendentes para incluir paquetes de registros públicos.
Seleccione Crear cuando haya terminado.
Conexión a una fuente
Para poder publicar o restaurar paquetes desde la fuente, primero debe configurar el proyecto para autenticarse y conectarse a la fuente.
Inicie sesión en Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, seleccione el feed en el menú desplegable.
Seleccione Conectar a la fuente y, a continuación, seleccione Cargo en el panel de navegación izquierdo.
Siga los pasos descritos en la sección configuración de Project para configurar el
config.tomlarchivo.En la misma página, siga las instrucciones de las secciones Configurar un proveedor de credenciales e Iniciar sesión en el Registro para configurar el proveedor de credenciales y conectarse a la fuente. Para ver los pasos detallados, consulte Cargo: configuración del proyecto.
Importante
La compatibilidad con Cargo en Azure Artifacts requiere Rust 1.74 o versiones posteriores, que incluye compatibilidad con la característica registry-auth.
Para actualizar la versión de Rust, ejecute rustup update
Importante
Cargo está actualmente en versión preliminar y podría requerir la cadena de herramientas nocturna con la registry-authcaracterística inestable habilitada. Para habilitar registry-auth, agregue la siguiente configuración a .cargo/config.toml.
[unstable]
registry-auth = true
Para usar la cadena de herramientas nocturna, ejecute el siguiente comando:
rustup default nightly
Publicar paquetes
Antes de publicar un paquete de Cargo, asegúrate de haber completado los pasos de Conectarse a una fuente para poder autenticarte con tu fuente de Azure Artifacts.
En el directorio que contiene el archivo Cargo.toml , ejecute el siguiente comando para publicar el paquete:
cargo publish
Si se produce un error GLib-GObject-CRITICAL - libsecret-CRITICAL, asegúrese de seguir estos pasos:
Compruebe que libsecret está instalado:
sudo apt update && sudo apt install libsecret-1-0Asegúrese de que se está ejecutando gnome-keyring :
gnome-keyring-daemon --start --components=secretsActualice Rust a la versión estable más reciente y establezca estable como cadena de herramientas predeterminada:
rustup update rustup default stableSi el problema persiste, vuelva a ejecutar
cargo publishcon registro detallado para recopilar más información:RUST_LOG=debug cargo publish --registry <REGISTRY_NAME>
Restaurar paquetes
Antes de restaurar las dependencias, asegúrese de completar los pasos descritos en Conexión a una fuente para que pueda autenticarse con la fuente de Azure Artifacts.
Asegúrese de que sus dependencias estén listadas en la sección
[dependencies]del archivoCargo.toml.Si está usando crates directamente desde su feed privado de Azure Artifacts, especifique explícitamente el registro de la siguiente manera:
[dependencies] CRATE_NAME = { version = "VERSION_NUMBER", registry = "FEED_NAME" }Si hace referencia a paquetes de crates.io a través de la fuente upstream mediante la configuración
replace-with, especifíquelos como se indica a continuación:[dependencies] CRATE_NAME = "VERSION_NUMBER"Ejecute el siguiente comando en el directorio de su proyecto para compilar su proyecto y restaurar las dependencias desde el feed:
cargo build
Los crates descargados se almacenan en caché localmente en ~/.cargo/registry/cache/<registry-hash>/, donde registry-hash es un identificador único basado en la URL del feed.