Autenticar com artefatos do Azure do Dockerfile para Java (Maven), NPM

Sep 13 2020

Alguém pode fornecer qual é a solução recomendada para autenticação dentro do Dockerfile durante a fase de compilação do docker para Artefatos do Azure para Maven , NPM ou Python ?

Embora a maioria das soluções para o problema específico de acessar feed autenticado de artefatos do Azure durante a construção de dentro de um Dockerfile tenha sido mencionada no Stack Overflow ou na internet (em vários artigos, como abaixo) têm como alvo o ecossistema nuget, minha pergunta é para Pacotes Maven , NPM ou Python .

Blogs de exemplo que fornecem soluções para nuget e docker-

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

Agradeço a ajuda aqui.

Respostas

1 LanceLi-MSFT Sep 14 2020 at 16:28

Minha pergunta é para pacotes Maven, NPM ou Python.

Esses tipos de pacotes são de sistemas diferentes, portanto, devemos usar maneiras diferentes de autenticá-los.

Para Maven:

Verifique a configuração do seu feed . Você deve configurar seu pom.xmlarquivo para definir a url, e então definir o settings.xmlarquivo com PAT. Você pode gerenciar esses dois arquivos em seu projeto e usar o Dockerfile para copiá-los para settings.xmla ${user.home}/.m2pasta.

Para NPM:

Você pode seguir o Othertópico aqui para configurar um .npmrcque contenha credenciais. Também acho que você pode criar um .npmrcarquivo normal e depois usar Npm Authenticate taskpara modificá-lo. Aqui está um exemplo de trabalho .

Para Python:

Podemos usar a tarefa Pip Authenticate para preencher a PIP_EXTRA_INDEX_URLvariável de ambiente e passá-la como argumentos de construção. Algo assim:arguments: --build-arg INDEX_URL=$(PIP_EXTRA_INDEX_URL)

Você pode verificar as duas respostas deste problema semelhante para obter mais detalhes.