Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
De un vistazo
Objetivo: Usar Dev Proxy en Azure Pipelines
Tiempo: 20 minutos
Complementos: Varios
Requisitos previos:Configuración del proxy de desarrollo, Azure DevOps
El uso de Dev Proxy con Azure Pipelines es una excelente manera de probar las aplicaciones en un entorno controlado. Siguiendo estos pasos, puede usar Dev Proxy con Azure Pipelines.
Nota
En este artículo, se usa un agente de Ubuntu para Azure Pipelines.
Instalar el proxy de desarrollo y almacenarlo en caché
Comience instalando Dev Proxy en el agente utilizando una tarea de script.
- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
displayName: 'Install Dev Proxy'
De forma predeterminada, se instala la versión más reciente del proxy de desarrollo. Si desea instalar una versión específica, puede especificarla pasando una versión al final del script:
- script: bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" v1.0.0
displayName: 'Install Dev Proxy v1.0.0'
Una práctica recomendada es almacenar en caché los archivos de instalación del proxy de desarrollo para acelerar las ejecuciones posteriores. Puedes utilizar la tarea Cache para este propósito. Así es como puede hacerlo:
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 proxy de desarrollo
Al iniciar Dev Proxy en una canalización de CI/CD, puede iniciarlo desde un script o incluir el script directamente. Cuando el script esté listo, invoquelo en el archivo de canalización:
- script: bash ./run.sh
displayName: 'Start Dev Proxy'
Controlar proxy de desarrollo
Para controlar Dev Proxy, puede usar la API de Dev Proxy. Por ejemplo, para iniciar la grabación de solicitudes, puede enviar una solicitud POST al /proxy punto de conexión:
- script: |
curl -X POST http://localhost:8897/proxy -H "Content-Type: application/json" -d '{"recording": true}'
displayName: 'Start recording'
Carga de registros del proxy de desarrollo como artefactos
Al ejecutar el Dev Proxy en una canalización de CI/CD, es posible que desees analizar los registros más adelante. Para mantener los registros del proxy de desarrollo, puede cargarlos como artefactos:
- task: PublishPipelineArtifact@1
displayName: Upload Dev Proxy logs
inputs:
targetPath: $(LOG_FILE)
artifact: $(LOG_FILE)
Suba los informes del proxy de desarrollo
Si está usando un proxy de desarrollo para analizar las solicitudes, es posible que también quiera subir los informes en forma de artefactos:
- 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'
Archivo de canalización de ejemplo
Este es un ejemplo sencillo de cómo usar Dev Proxy en un pipeline de Azure. Este flujo de trabajo instala el proxy de desarrollo, lo inicia, envía una solicitud mediante curl y, a continuación, muestra los registros.
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'