Použití dev proxy serveru se službou Azure Pipelines

Na první pohled
Cílem: Použití dev proxy v Azure Pipelines
Čas: 20 minut
Pluginy: Různé
Požadavky:Nastavení dev proxy serveru, Azure DevOps

Použití Dev Proxy se službou Azure Pipelines je skvělý způsob, jak otestovat aplikace v řízeném prostředí. Pomocí těchto kroků můžete se službou Azure Pipelines používat Dev Proxy.

Poznámka

V tomto článku používáme agenta Ubuntu pro Azure Pipelines.

Nainstalujte vývojový proxy server a uložte jej do mezipaměti

Začněte tím, že na agenta nainstalujete dev proxy server pomocí úlohy skriptu pro instalaci dev proxy serveru.

- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
  displayName: 'Install Dev Proxy'

Ve výchozím nastavení se nainstaluje nejnovější verze dev proxy serveru. Pokud chcete nainstalovat konkrétní verzi, můžete ji zadat předáním verze na konci skriptu:

- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" v1.0.0
  displayName: 'Install Dev Proxy v1.0.0'

Doporučeným postupem je ukládat instalační soubory dev proxy do mezipaměti, aby se urychlily následné spuštění. K tomuto účelu můžete použít úkol Cache. Tady je postup, jak to udělat:

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')

Spuštění dev proxy serveru

Když v kanálu CI/CD spustíte Dev Proxy, můžete ji spustit ze skriptu nebo zahrnout skript přímo do kódu. Až budete mít skript připravený, spusťte ho ve vašem pipeline souboru:

- script: bash ./run.sh
  displayName: 'Start Dev Proxy'

Řízení vývojového proxy serveru

K řízení dev proxy serveru můžete použít rozhraní DEV Proxy API. Pokud například chcete zahájit nahrávání požadavků, můžete odeslat požadavek POST do koncového /proxy bodu:

- script: |
    curl -X POST http://localhost:8897/proxy -H "Content-Type: application/json" -d '{"recording": true}'
  displayName: 'Start recording'

Nahrání protokolů Dev Proxy jako artefaktů

Když v kanálu CI/CD spustíte Dev Proxy, možná budete chtít protokoly analyzovat později. Pokud chcete uchovávat protokoly Dev Proxy, můžete je nahrát jako artefakty:

- task: PublishPipelineArtifact@1
  displayName: Upload Dev Proxy logs
  inputs:
    targetPath: $(LOG_FILE)
    artifact: $(LOG_FILE)

Nahrání sestav Dev Proxy

Pokud k analýze požadavků používáte Dev Proxy, můžete sestavy nahrát také 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'

Ukázkový soubor potrubí

Tady je jednoduchý příklad použití Dev Proxy ve službě Azure Pipeline. Tento pracovní postup nainstaluje Dev Proxy, spustí ho, odešle prostřednictvím nástroje curl požadavek a pak zobrazí protokoly.

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'

Viz také