Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na pierwszy rzut oka
Celem: Korzystanie z serwera proxy dev w usłudze Azure Pipelines
Czas: 20 minut
Wtyczki: Różne
Wymagania wstępne:Konfigurowanie serwera proxy dev, usługi Azure DevOps
Korzystanie z usługi Dev Proxy z usługą Azure Pipelines to doskonały sposób testowania aplikacji w kontrolowanym środowisku. Wykonując następujące kroki, możesz użyć serwera proxy deweloperskiego z usługą Azure Pipelines.
Uwaga
W tym artykule używamy agenta systemu Ubuntu dla usługi Azure Pipelines.
Instalowanie serwera proxy deweloperskiego i buforowanie go
Zacznij od zainstalowania Dev Proxy na agencie przy użyciu zadania skryptowego.
- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
displayName: 'Install Dev Proxy'
Domyślnie powoduje to zainstalowanie najnowszej wersji serwera proxy deweloperów. Jeśli chcesz zainstalować określoną wersję, możesz ją określić, przekazując wersję na końcu skryptu:
- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" v1.0.0
displayName: 'Install Dev Proxy v1.0.0'
Zalecaną praktyką jest buforowanie plików instalacyjnych Dev Proxy w celu przyspieszenia kolejnych uruchomień. W tym celu można użyć zadania Cache. Oto jak to zrobić:
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')
Uruchamianie serwera proxy deweloperskiego
Gdy uruchamiasz Dev Proxy w potoku CI/CD, możesz uruchomić go ze skryptu lub dołączyć skrypt w tekście. Gdy skrypt jest gotowy, wywołaj go w pliku potoku:
- script: bash ./run.sh
displayName: 'Start Dev Proxy'
Kontrolowanie serwera proxy deweloperskiego
Aby kontrolować serwer proxy deweloperów, możesz użyć interfejsu API serwera proxy deweloperów. Aby na przykład rozpocząć rejestrowanie żądań, możesz wysłać żądanie POST do punktu końcowego /proxy :
- script: |
curl -X POST http://localhost:8897/proxy -H "Content-Type: application/json" -d '{"recording": true}'
displayName: 'Start recording'
Przekaż dzienniki serwera proxy deweloperskiego jako artefakty
Po uruchomieniu Dev Proxy w potoku ciągłej integracji/ciągłego wdrażania możesz chcieć przeanalizować dzienniki w późniejszym czasie. Aby zachować dzienniki Dev Proxy, możesz przesłać je jako artefakty:
- task: PublishPipelineArtifact@1
displayName: Upload Dev Proxy logs
inputs:
targetPath: $(LOG_FILE)
artifact: $(LOG_FILE)
Prześlij raporty serwera proxy deweloperskiego
Jeśli używasz serwera proxy deweloperów do analizowania żądań, możesz również przekazać raporty jako artefakty:
- 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'
Przykładowy plik potoku
Oto prosty przykład używania serwera proxy dev w usłudze Azure Pipeline. Ten przepływ pracy instaluje serwer proxy dev, uruchamia go, wysyła żądanie za pomocą narzędzia curl, a następnie wyświetla dzienniki.
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'