Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
El uso de orígenes ascendentes en la fuente le permite administrar las dependencias de la aplicación desde una sola fuente. El uso de orígenes ascendentes facilita el consumo de paquetes de registros públicos mientras tiene protección contra interrupciones o paquetes en peligro. También puede publicar sus propios paquetes en la misma fuente y administrar todas las dependencias en una ubicación.
Este tutorial le guiará a través de cómo habilitar orígenes ascendentes en la fuente y consumir paquetes de registros públicos, como NuGet.org o npmjs.com.
En este tutorial, aprenderá lo siguiente:
- Cree una nueva fuente y habilite los orígenes ascendentes.
- Configure el archivo de configuración.
- Ejecute una restauración inicial del paquete para rellenar la fuente.
- Compruebe la fuente para ver la copia guardada de los paquetes que consumió del registro público.
Creación de una fuente y habilitación de orígenes ascendentes
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Artefactos y, a continuación, seleccione Crear fuente para crear una nueva fuente.
Proporcione un nombre para la fuente y elija su visibilidad. Asegúrese de activar la casilla Incluir paquetes de orígenes públicos comunes para habilitar orígenes ascendentes y, a continuación, seleccione Crear cuando haya terminado.
Nota:
Para agregar una fuente de otra organización como origen ascendente, el propietario de la fuente de destino debe compartir la vista de destino con Todas las fuentes y personas de organizaciones asociadas con mi inquilino de Microsoft Entra; para ello, vaya a Vistas> de configuración>de fuentes Seleccione el botón de puntos suspensivos situado a la derecha para la vista >especificada Editar .
Configuración del archivo de configuración
Ahora que hemos creado nuestra fuente, es necesario actualizar el archivo de configuración para que apunte a nuestra fuente. Para ello, debemos hacer lo siguiente:
- Obtención de la dirección URL del origen
- Actualizar el archivo de configuración
Seleccione Artefactos y, a continuación, seleccione Conectar a la fuente.
En el lado izquierdo de la página, seleccione la pestaña npm .
Siga las instrucciones de la sección Configuración del proyecto para configurar el archivo de configuración.
Si aún no tiene un archivo .npmrc , cree uno nuevo en la raíz del proyecto (en la misma carpeta que el package.json). Abra el nuevo archivo .npmrc y pegue el fragmento de código que acaba de copiar en el paso anterior.
Seleccione Artefactos y, a continuación, seleccione la fuente.
Seleccione Conectar a la fuente y, a continuación, elija NuGet.exe.
Copie el fragmento de código XML en la sección Configuración del proyecto .
Cree un nuevo archivo denominado nuget.config en la raíz del proyecto.
Pegue el fragmento de código XML en el archivo de configuración.
Seleccione Artefactos y, a continuación, seleccione la fuente en la lista desplegable.
Seleccione Conectar a la fuente y, a continuación, seleccione pip en la sección Python.
Cree un entorno virtual si aún no lo ha hecho.
Agregue un archivo pip.ini (Windows) o pip.conf (Mac/Linux) a su virtualenv y pegue el siguiente fragmento de código:
[global]
index-url=https://pkgs.dev.azure.com/ORGANIZATION-NAME/_packaging/FEED-NAME/pypi/simple/
Seleccione Artefactos y, a continuación, seleccione la fuente en la lista desplegable.
Seleccione Conectar a la fuente y, a continuación, seleccione Maven.
Agregue el siguiente fragmento de código a las <repositories>
secciones y <distributionManagement>
del pom.xml:
<repository>
<id>[FEED-NAME]</id>
<url>https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
Agregue un <server>
elemento al archivo de settings.xml:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
Cree un token de acceso personal con ámbitos de lectura y escritura de empaquetado>y pegue el token de acceso personal en la <password>
etiqueta del archivo settings.xml.
Seleccione Artefactos y, a continuación, seleccione la fuente en la lista desplegable.
Seleccione Conectar a la fuente y, a continuación, seleccione Gradle.
Agregue el siguiente fragmento de código a los repositorios y a las secciones de publicación en el archivo build.gradle:
maven {
url 'https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1'
name '[FEED-NAME]'
authentication {
basic(BasicAuthentication)
}
}
Agregue un <server>
elemento al archivo de settings.xml:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
Cree un token de acceso personal con ámbitos de lectura y escritura de empaquetado>. Pegue el token de acceso personal en la <password>
etiqueta del archivo settings.xml.
Restaurar paquetes
Ahora que ha habilitado orígenes ascendentes y configurado el archivo de configuración, podemos ejecutar el comando de restauración de paquetes para consultar el origen ascendente y recuperar los paquetes ascendentes.
Quite la carpeta node_modules del proyecto y ejecute el siguiente comando en una ventana del símbolo del sistema con privilegios elevados:
npm install --force
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Nota:
El --force
argumento forzará la extracción remota incluso si existe una copia local.
Borre la caché local:
nuget locals -clear all
Restaure los paquetes NuGet:
nuget.exe restore
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
dotnet restore --interactive
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
pip install
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
mvn install
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
gradle build
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
cargo build
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Quite la carpeta node_modules del proyecto y ejecute el siguiente comando en una ventana del símbolo del sistema con privilegios elevados:
npm install --force
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Nota:
El --force
argumento forzará la extracción remota incluso si existe una copia local.
Borre la caché local:
nuget locals -clear all
Restaure los paquetes NuGet:
nuget.exe restore
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
dotnet restore --interactive
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
pip install
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
mvn install
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
gradle build
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Quite la carpeta node_modules del proyecto y ejecute el siguiente comando en una ventana del símbolo del sistema con privilegios elevados:
npm install --force
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Nota:
El --force
argumento forzará la extracción remota incluso si existe una copia local.
Borre la caché local:
nuget locals -clear all
Restaure los paquetes NuGet:
nuget.exe restore
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
pip install
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
mvn install
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Ejecute el siguiente comando en el directorio del proyecto:
gradle build
La fuente ahora debe tener una copia guardada de los paquetes que instaló desde la cadena ascendente.
Artículos relacionados