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
Los orígenes ascendentes de Azure Artifacts permiten a los desarrolladores consumir paquetes de registros públicos como Crates.io y nuget.org. Este artículo le guiará a través de la configuración del proyecto y el uso de la línea de comandos para consumir Crates desde Crates.io.
Requisitos previos
| Producto | Requisitos |
|---|---|
| Azure DevOps | - Una organización de Azure DevOps . - Un proyecto de Azure DevOps . - Descargue e instale rustup. Necesitará Cargo versión 1.74.0 o posterior. |
Crear feed
Azure Artifacts recomienda tener un feed dedicado para consumir contenedores de crates.io y una fuente independiente exclusivamente para publicar contenedores internos. Si ya tiene un feed de Azure Artifacts, vaya a la sección siguiente. De lo contrario, cree uno nuevo de la siguiente manera:
Inicie sesión en su organización de Azure DevOps y vaya al proyecto.
Seleccione Artifacts y, a continuación, seleccione Crear fuente.
Proporcione un nombre para su canal, seleccione la visibilidad para definir quién puede ver sus paquetes y elija el ámbito del canal. Marca la casilla Incluir paquetes de fuentes públicas comunes para habilitar las fuentes de origen en tu feed.
Seleccione Crear cuando haya terminado.
Conexión a la fuente
Ahora que tiene una fuente, debe configurar el archivo config.toml , configurar un proveedor de credenciales y, a continuación, iniciar sesión en el registro para autenticarse con la fuente.
Configuración del proyecto
Inicie sesión en su organización de Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, seleccione tu feed en el menú desplegable.
Seleccione Conectar a la fuente y, a continuación, seleccione Cargo en el panel de navegación izquierdo.
Copie el fragmento de código de la sección Configuración del proyecto y péguelo en el archivo .cargo/config.toml en el repositorio de origen. Debería tener un aspecto similar al siguiente:
Fuente con ámbito de proyecto:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"Feed con ámbito de organización:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Inicie sesión en la colección de Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, seleccione tu feed en el menú desplegable.
Seleccione Conectar a la fuente y, a continuación, seleccione Cargo en el panel de navegación izquierdo.
Copie el fragmento de código de la sección Configuración del proyecto y péguelo en el archivo .cargo/config.toml en el repositorio de origen. Debe tener un aspecto similar al siguiente:
Fuente con ámbito de proyecto:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"Fuente con ámbito de colección:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Configuración de un proveedor de credenciales
Para usar Cargo con Azure Artifacts, debe configurar un proveedor de credenciales. La siguiente configuración establecerá un asistente de credenciales predeterminado para el usuario:
Pegue el fragmento de código siguiente en el %USERPROFILE%.cargo\config.toml:
[registry]
global-credential-providers = ["cargo:token", "cargo:wincred"]
Inicia sesión en el registro
Cree un token de acceso personal con ámbitos de lectura y escritura >de empaquetado para autenticarse con el feed.
Ejecute el siguiente comando para iniciar sesión en el registro. Sustituye <FEED_NAME> por el nombre de tu feed y, cuando se te solicite, pega el token de acceso personal que has creado anteriormente.
"Basic " + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("PAT:" + (Read-Host -MaskInput "Enter PAT"))) | cargo login --registry <FEED_NAME>
Guardar paquetes de Crates.io
Ahora que tu proyecto está configurado, el proveedor de credenciales está configurado y estás autenticado con tu feed, puedes empezar a consumir paquetes de fuentes de origen. Azure Artifacts guarda automáticamente una copia de cualquier paquete que instale desde el origen primario a su feed.
El siguiente ejemplo muestra cómo consumir el reqwest crate, una biblioteca de cliente HTTP utilizada para realizar solicitudes HTTP:
Agregue el contenedor a cargo.toml ejecutando el siguiente comando en el directorio del proyecto:
cargo add reqwestEjecute el siguiente comando para compilar su proyecto y usar su crate:
cargo build
Una vez instalado el paquete, se guardará una copia en el feed. Para comprobarlo, navegue hasta su feed en Azure DevOps. El paquete debería estar disponible en tu feed, tal y como se muestra a continuación:
Nota:
Para guardar paquetes desde orígenes upstream, debe tener el rol Feed and Upstream Reader (Collaborator) o uno superior. Consulte Roles y permisos del feed para obtener más detalles.