27/01/2020 | Autor: Claudio Romão | Categoria: Técnico | Comentários

Passando um endereço de proxy para uma tarefa no Azure Pipelines

Outro dia estava em um cliente e por motivos técnicos a equipe da infra tinha alterado o endereço do proxy deles para um temporário. Nós não tinhamos acesso aos servidores onde rodavam os agentes e isso tinha parado todos os pipelines, pois nenhum deles conseguia acessar serviços externos, como o Azure Artifacts.

Como não conseguiamos reiniciar ou reconfigurar os agentes precisavamos de uma outra estratégia. E é esse modelo que vou explicar aqui para você.

Toda ques que executávamos algum processo de build estavamos recebendo o seguinte erro:

mensagem erro no processo de build
mensagem erro no processo de build

A mensagem dizia o seguinte:

```E:*\a2_work_tool\dncs\3.1.100\x64\sdk\3.1.100\NuGet.targets(123,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [E:*\a2_work\4\s\MB.Console.STC.Monitor.sln] E:****\a2_work_tool\dncs\3.1.100\x64\sdk\3.1.100\NuGet.targets(123,5): error : A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ##[error]Cmd.exe exited with code ‘1’.

Como podemos ver, ele não conseguia acessar a API do nuget e com isso não conseguia restaurar os pacotes da solution. Para resolver esse problema, nós podemos passar uma variável para o processo de pipeline e nesse caso colocamos diretamente na tarefa duas variáveis fr ambiente HTTP_PROXY e HTTPS_PROXY e definimos os valores para elas.

Informação processo
Informação processo

Com isso, quando a tarefa era executada, automaticamente o pipeline injetava as informações de proxy com o novo endereço e o link do nuget ficava acessível e restaurava os pacotes normalmente.

Espero que tenha gostado e se tiver alguma dúvida específica me manda um e-mail ou deixe nos comentários.

Até a próxima, Claudio Romão