S'authentifier avec Azure Artifacts à partir de Dockerfile pour Java (Maven), NPM

Sep 13 2020

Quelqu'un peut-il fournir la solution recommandée pour l'authentification dans Dockerfile pendant la phase de construction du docker pour Azure Artifacts pour Maven , NPM ou Python ?

Alors que la plupart des solutions au problème particulier d'accès au flux authentifié des artefacts Azure lors de la construction à partir de l'intérieur d'un Dockerfile a été mentionnée sur Stack Overflow ou sur Internet (dans divers articles tels que ci-dessous) ont ciblé l'écosystème nuget, ma question est pour Packages Maven , NPM ou Python .

Exemples de blogs qui fournissent des solutions pour nuget et docker-

  • https://blog.ehn.nu/2019/05/accessing-azure-artifacts-feed-in-a-docker-build/

Appréciez l'aide ici.

Réponses

1 LanceLi-MSFT Sep 14 2020 at 16:28

Ma question concerne les packages Maven, NPM ou Python.

Ces types de packages proviennent de systèmes différents, nous devons donc utiliser différentes méthodes pour les authentifier.

Pour Maven:

Vérifiez la configuration de votre flux . Vous devez configurer votre pom.xmlfichier pour définir l'url, puis définir le settings.xmlfichier avec PAT. Vous pouvez gérer ces deux fichiers dans votre projet, puis utiliser Dockerfile pour copier le dossier settings.xmlvers ${user.home}/.m2.

Pour NPM:

Vous pouvez suivre la Otherrubrique ici pour en configurer une .npmrcqui contient des informations d'identification. Je pense également que vous pouvez créer un .npmrcfichier normal , puis l'utiliser Npm Authenticate taskpour le modifier. Voici un exemple de travail .

Pour Python:

Nous pouvons utiliser la tâche Pip Authenticate pour remplir la PIP_EXTRA_INDEX_URLvariable d'environnement et la passer en tant qu'arguments de construction. Quelque chose comme ça:arguments: --build-arg INDEX_URL=$(PIP_EXTRA_INDEX_URL)

Vous pouvez consulter les deux réponses à ce problème similaire pour plus de détails.