Olá pessoal,
Vamos de uma dica bem rápida hoje. Recentemente em tive um problema com um dos pipelines que cuido onde precisava saber o endereço de IP público do container, que mudava a cada execução, para adicionar a uma regra de firewall antes de executar a rotina, e ao fim remover este IP da regra.
Para recuperar o IP podemos acessar o site https://ifconfig.me com o comando Invoke-RestMethod e informando o useragent curl. Dessa forma ele retorna apenas uma string contendo o IP publico
Invoke-RestMethod -Uri 'https://ifconfig.me' -Method 'GET' -UserAgent 'curl'
Em uma task do Pipeline poderíamos armazenar em uma variável e em seguida criar uma nova para o pipeline(no azure devops neste exemplo) com o seguinte comando:
$IP = Invoke-RestMethod -Uri 'https://ifconfig.me' -Method 'GET' -UserAgent 'curl'
Write-Host -Object "##vso[task.setvariable variable=agentIp;]$IP"
Dúvidas? Sugestões? Comente!
Até a próxima!