Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
De relance
Objetivo: Use Dev Proxy in Azure Pipelines
Tempo: 20 minutos
Plugins: Vários
Prerequisites:Set up Dev Proxy, Azure DevOps
Usar o Proxy de Desenvolvimento com o Azure Pipelines é uma ótima maneira de testar seus aplicativos em um ambiente controlado. Seguindo estas etapas, você pode usar o Proxy de Desenvolvimento com seus Pipelines do Azure.
Observação
Neste artigo, usamos um agente do Ubuntu para o Azure Pipelines.
Instale o Dev Proxy e armazene-o em cache
Comece instalando o Dev Proxy no agente usando uma tarefa de script para instalar o Dev Proxy.
- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
displayName: 'Install Dev Proxy'
Por padrão, isso instala a versão mais recente do Dev Proxy. Se você quiser instalar uma versão específica, você pode especificá-la passando uma versão no final do script:
- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" v1.0.0
displayName: 'Install Dev Proxy v1.0.0'
Uma prática recomendada é armazenar em cache os arquivos de instalação do Dev Proxy para acelerar as execuções subsequentes. Você pode usar a tarefa Cache para essa finalidade. Veja como você pode fazer isso:
variables:
- name: DEV_PROXY_VERSION
value: v1.0.0
- name: DEV_PROXY_CACHE_RESTORED
value: 'false'
steps:
- task: Cache@2
inputs:
key: '"dev-proxy-$(DEV_PROXY_VERSION)"'
path: ./devproxy
cacheHitVar: DEV_PROXY_CACHE_RESTORED
displayName: Cache Dev Proxy
- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" $DEV_PROXY_VERSION
displayName: 'Install Dev Proxy'
condition: ne(variables.DEV_PROXY_CACHE_RESTORED, 'true')
Iniciar Dev Proxy
Ao iniciar o Proxy de Desenvolvimento em um pipeline de CI/CD, pode-se iniciá-lo a partir de um script ou incluir o script em linha. Quando tiver o script pronto, invoque-o no arquivo de pipeline:
- script: bash ./run.sh
displayName: 'Start Dev Proxy'
Proxy de Controlo de Desenvolvimento
Para controlar o Dev Proxy, você pode usar a API do Dev Proxy. Por exemplo, para iniciar a gravação de solicitações, você pode enviar uma solicitação POST para o /proxy ponto de extremidade:
- script: |
curl -X POST http://localhost:8897/proxy -H "Content-Type: application/json" -d '{"recording": true}'
displayName: 'Start recording'
Carregar logs do Dev Proxy como artefatos
Ao executar o Dev Proxy em um pipeline de CI/CD, convém analisar os logs mais tarde. Para manter os logs do Dev Proxy, você pode carregá-los como artefatos:
- task: PublishPipelineArtifact@1
displayName: Upload Dev Proxy logs
inputs:
targetPath: $(LOG_FILE)
artifact: $(LOG_FILE)
Carregar relatórios do Dev Proxy
Se você estiver usando o Dev Proxy para analisar as solicitações, talvez queira carregar os relatórios como artefatos também:
- script: |
mkdir -p $(Build.ArtifactStagingDirectory)/Reports
for file in *Reporter*; do
if [ -f "$file" ]; then
cp "$file" $(Build.ArtifactStagingDirectory)/Reports
fi
done
displayName: 'Copy reports to artifact directory'
- task: PublishPipelineArtifact@1
displayName: Upload Dev Proxy reports
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)/Reports'
artifact: 'Reports'
Exemplo de ficheiro de pipeline
Aqui está um exemplo simples de como usar o Proxy de Desenvolvimento em um Pipeline do Azure. Este fluxo de trabalho instala o Dev Proxy, inicia-o, envia uma solicitação através dele usando curl e, em seguida, mostra os logs.
trigger:
- main
- dev
pool:
vmImage: ubuntu-latest
variables:
- name: DEV_PROXY_VERSION
value: v1.0.0
steps:
- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" $DEV_PROXY_VERSION
displayName: 'Install Dev Proxy'
- script: bash ./start.sh
displayName: 'Start Dev Proxy'
- script: |
curl -ikx http://127.0.0.1:8000 https://jsonplaceholder.typicode.com/posts
displayName: 'Send request'
- script: |
curl -X POST http://localhost:8897/proxy/stop
displayName: 'Stop Dev Proxy'
- script: |
echo "Dev Proxy logs:"
cat devproxy.log
displayName: 'Show Dev Proxy logs'