Autenticar con Azure Artifacts de Dockerfile para Java (Maven), NPM
¿Alguien puede proporcionar cuál es la solución recomendada para autenticarse dentro de Dockerfile durante la fase de compilación de Docker para Azure Artifacts para Maven , NPM o Python ?
Si bien la mayoría de las soluciones para el problema particular de acceder a fuentes autenticadas de Azure Artifacts mientras se construye desde dentro de un Dockerfile se han mencionado en Stack Overflow o en Internet (en varios artículos como el siguiente) se han dirigido al ecosistema nuget, mi pregunta es para Paquetes Maven , NPM o Python .
Blogs de ejemplo que proporcionan soluciones para nuget y docker-
- https://blog.ehn.nu/2019/05/accessing-azure-artifacts-feed-in-a-docker-build/
Agradezco la ayuda aquí.
Respuestas
Mi pregunta es para paquetes Maven, NPM o Python.
Estos tipos de paquetes son de diferentes sistemas, por lo que debemos usar diferentes formas de autenticarlos.
Para Maven:
Compruebe la configuración de su feed . Debe configurar su pom.xmlarchivo para definir la URL y luego definir el settings.xmlarchivo con PAT. Puede administrar estos dos archivos en su proyecto, a continuación, utilizar Dockerfile a copiar el settings.xmlde ${user.home}/.m2la carpeta.
Para NPM:
Puede seguir el Othertema aquí para configurar uno .npmrcque contenga credenciales. También creo que puedes crear un .npmrcarchivo normal y luego usarlo Npm Authenticate taskpara modificarlo. Aquí hay una muestra de trabajo .
Para Python:
Podemos usar la tarea Pip Authenticate para completar la PIP_EXTRA_INDEX_URLvariable de entorno y pasarla como argumentos de compilación. Algo como esto:arguments: --build-arg INDEX_URL=$(PIP_EXTRA_INDEX_URL)
Puede consultar las dos respuestas de este problema similar para obtener más detalles.