Bagikan melalui


Menggunakan Dev Proxy dengan Azure Pipelines

Sekilas
Tujuan: Menggunakan Dev Proxy di Azure Pipelines
Waktu: 20 menit
Plugin: Berbagai
Prasyarat:Menyiapkan Dev Proxy, Azure DevOps

Menggunakan Dev Proxy dengan Azure Pipelines adalah cara yang bagus untuk menguji aplikasi Anda di lingkungan yang terkontrol. Mengikuti langkah-langkah ini, Anda dapat menggunakan Dev Proxy dengan Azure Pipelines Anda.

Nota

Dalam artikel ini, kami menggunakan agen Ubuntu untuk Azure Pipelines.

Instal Dev Proxy dan cache

Mulailah dengan menginstal Dev Proxy pada agen menggunakan tugas skrip untuk menginstal Dev Proxy.

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

Secara default, ini menginstal versi terbaru Dev Proxy. Jika Anda ingin menginstal versi tertentu, Anda dapat menentukannya dengan meneruskan versi di akhir skrip:

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

Praktik yang direkomendasikan adalah menyimpan file penginstalan Dev Proxy untuk mempercepat eksekusi berikutnya. Anda dapat menggunakan tugas Cache untuk tujuan ini. Berikut adalah cara Anda dapat melakukannya:

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

Mulai Proksi Dev

Saat Anda memulai Dev Proxy dalam alur CI/CD, Anda dapat memulainya dari skrip, atau menyertakan skrip secara inline. Saat skrip Anda siap, panggil skrip tersebut dalam file alur Anda:

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

Mengontrol Proksi Pengembang

Untuk mengontrol Dev Proxy, Anda dapat menggunakan DEV Proxy API. Misalnya, untuk mulai merekam permintaan, Anda dapat mengirim permintaan POST ke /proxy titik akhir:

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

Mengunggah log Dev Proxy sebagai artefak

Saat Anda menjalankan Dev Proxy dalam alur CI/CD, Anda mungkin ingin menganalisis log nanti. Untuk menyimpan log Dev Proxy, Anda dapat mengunggahnya sebagai artefak:

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

Unggah laporan Proksi Dev

Jika Anda menggunakan Dev Proxy untuk menganalisis permintaan, Anda mungkin juga ingin mengunggah laporan sebagai artefak:

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

Contoh file alur

Berikut adalah contoh sederhana tentang cara menggunakan Dev Proxy di Azure Pipeline. Alur kerja ini menginstal Dev Proxy, memulainya, mengirim permintaan melaluinya menggunakan curl, lalu menampilkan log.

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'

Lihat juga