Autenticazione con Azure Artifacts da Dockerfile per Java (Maven), NPM

Sep 13 2020

Qualcuno può fornire qual è la soluzione consigliata per l'autenticazione all'interno di Dockerfile durante la fase di compilazione Docker per Azure Artifacts per Maven , NPM o Python ?

Sebbene la maggior parte delle soluzioni per il particolare problema dell'accesso al feed autenticato di Azure Artifacts durante la creazione dall'interno di un Dockerfile sia stata menzionata su Stack Overflow o su Internet (in vari articoli come di seguito) hanno preso di mira l'ecosistema nuget, la mia domanda Pacchetti Maven , NPM o Python .

Blog di esempio che forniscono soluzioni per nuget e docker-

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

Apprezzo l'aiuto qui.

Risposte

1 LanceLi-MSFT Sep 14 2020 at 16:28

La mia domanda è per i pacchetti Maven, NPM o Python.

Questi tipi di pacchetti provengono da sistemi diversi, quindi dovremmo utilizzare modi diversi per autenticarli.

Per Maven:

Controlla la configurazione del tuo feed . È necessario configurare il pom.xmlfile per definire l'URL, quindi definire il settings.xmlfile con PAT. È possibile gestire questi due file nel progetto, quindi utilizzare Dockerfile per copiare la settings.xmla ${user.home}/.m2cartella.

Per NPM:

Puoi seguire l' Otherargomento qui per configurarne uno .npmrcche contenga le credenziali. Inoltre penso che tu possa creare un .npmrcfile normale e poi usarlo Npm Authenticate taskper modificarlo. Ecco un esempio funzionante .

Per Python:

Possiamo usare l'attività Pip Authenticate per popolare la PIP_EXTRA_INDEX_URLvariabile d'ambiente e passarla come argomenti di build. Qualcosa come questo:arguments: --build-arg INDEX_URL=$(PIP_EXTRA_INDEX_URL)

Puoi controllare le due risposte di questo problema simile per maggiori dettagli.