Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het gebruik van Dev Proxy in CI/CD-scenario's is een uitstekende manier om uw toepassingen in een gecontroleerde omgeving te testen. Wanneer u Dev Proxy combineert met tests voor het genereren van API-aanvragen in uw toepassing, kunt u een breed scala aan scenario's behandelen: van het garanderen dat uw app geen schaduw- of niet-productie-API's gebruikt om te controleren of er minimale Microsoft Graph-machtigingen worden gebruikt. Hoewel de exacte configuratiestappen variëren, afhankelijk van uw CI/CD-systeem, volgen hier enkele algemene principes die u moet volgen.
In de meeste gevallen is dev proxy niet geïnstalleerd voor uw runner. Dus voordat u Dev Proxy kunt gebruiken, moet u deze installeren. De installatiestappen zijn afhankelijk van het besturingssysteem dat uw runner gebruikt.
Tip
U kunt de pijplijn versnellen door de map Dev Proxy-installatie in de cache op te slaan. Op deze manier hoeft u Dev Proxy niet telkens te downloaden wanneer u uw pijplijn uitvoert. Raadpleeg de documentatie van uw CI/CD-systeem voor de exacte stappen.
Wanneer u Dev Proxy installeert in een CI/CD-installatie, wilt u doorgaans de versie van Dev Proxy vastmaken die u installeert. Door de versie vast te maken, zorgt u ervoor dat uw pijplijn steeds dezelfde versie van Dev Proxy gebruikt wanneer u deze uitvoert. De exacte stappen voor het vastzetten van een versie zijn afhankelijk van het besturingssysteem van uw runner. Hier volgt een voorbeeld van hoe u de versie van Dev Proxy kunt vastmaken aan een linux-runner:
# install Dev Proxy v1.0.0
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" -- v1.0.0
Dev Proxy starten
Nadat u Dev Proxy hebt geïnstalleerd, moet u deze starten. Wanneer u Dev Proxy in een CI/CD-pijplijn start, is het belangrijk dat u deze op de achtergrond start. Anders wordt uw pijplijn geblokkeerd totdat u Dev Proxy stopt.
Als u een op Linux gebaseerde runner gebruikt, kunt u Dev Proxy op de achtergrond starten:
# start Dev Proxy in the background
./devproxy/devproxy &`.
Het rootcertificaat van de Dev Proxy vertrouwen
Nadat u Dev Proxy hebt gestart, moet u het basiscertificaat van de Dev Proxy vertrouwen voordat u aanvragen verzendt, omdat Dev Proxy gebruikmaakt van een zelfondertekend basiscertificaat.
Wanneer Dev Proxy wordt gestart, wordt het rootCert.pfx certificaat gemaakt in de ~/.config/dev-proxy/rootCert map.
Afhankelijk van uw machtigingen moet u mogelijk de ~/.config/dev-proxy/rootCert map maken voordat u Dev Proxy start:
# ensure the rootCert folder
echo "Ensuring the Dev Proxy rootCert folder"
mkdir -p ~/.config/dev-proxy/rootCert
# start Dev Proxy
echo "Starting Dev Proxy"
./devproxy/devproxy &
Als u een linux-runner gebruikt, kunt u het basiscertificaat van de Dev Proxy installeren door het te kopiëren naar het archief met vertrouwde CA-certificaten van het systeem:
# export the Dev Proxy's Root Certificate
echo "Exporting the Dev Proxy's Root Certificate"
openssl pkcs12 -in ~/.config/dev-proxy/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:""
# install root certificate
echo "Installing the Dev Proxy's Root Certificate"
sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/
# update CA certificates
echo "Updating the CA certificates"
sudo update-ca-certificates
Wacht tot de dev-proxy is gestart
Wanneer u Dev Proxy op de achtergrond start, wordt uw script onmiddellijk uitgevoerd. Dev Proxy heeft echter enige tijd nodig om te starten. Wacht totdat u aanvragen gaat uitgeven om ervoor te zorgen dat dev proxy gereed is voordat u begint met het uitgeven van aanvragen. Als u wilt wachten tot dev proxy is gestart, meldt u de uitvoer aan een bestand en controleert u of Dev Proxy luistert naar webaanvragen, bijvoorbeeld:
# log file path
log_file=devproxy.log
# start Dev Proxy in the background
# log Dev Proxy output to the log file
# log stdout and stderr to the file
./devproxy/devproxy > $log_file 2>&1 &
# wait for init
echo "Waiting for Dev Proxy to start..."
while true; do
if grep -q "Listening on 127.0.0.1:8000" $log_file; then
break
fi
sleep 1
done
# the rest of your script
Proxyomgevingsvariabelen configureren
Veel toepassingen en bibliotheken gebruiken de http_proxy en https_proxy omgevingsvariabelen om te bepalen welke proxyserver moet worden gebruikt voor HTTP- en HTTPS-aanvragen. Om ervoor te zorgen dat uw toepassing gebruikmaakt van Dev Proxy, moet u deze omgevingsvariabelen instellen om te verwijzen naar het Dev Proxy-exemplaar.
export http_proxy=http://127.0.0.1:8000
export https_proxy=http://127.0.0.1:8000
Dev Proxy beheren
Wanneer u Dev Proxy uitvoert in een CI/CD-pijplijn, kunt u deze niet interactief beheren. In plaats daarvan kunt u dit beheren door aanvragen naar de Dev Proxy-API te verzenden.
Als u API-aanvragen wilt analyseren die zijn uitgegeven door uw app, kunt u een POST aanvraag verzenden naar het /record eindpunt:
curl -X POST http://localhost:8897/proxy/record -H "Content-Type: application/json" -d '{"recording": true}'
Als u de dev-proxy wilt stoppen, kunt u een POST aanvraag verzenden naar het /stop eindpunt:
curl -X POST http://localhost:8897/proxy/stop
Nadat u het Dev Proxy-proces hebt gestopt, kan het even duren voordat het volledig is gesloten. Wacht tot het proces is gesloten om ervoor te zorgen dat de dev-proxy is voltooid, bijvoorbeeld:
echo "Waiting for Dev Proxy to complete..."
while true; do
if grep -q -e "DONE" -e "No requests to process" -e "An error occurred in a plugin" $log_file; then
break
fi
sleep 1
done
Wanneer alle opnameinvoegtoepassingen zijn uitgevoerd, drukt Dev Proxy het DONE bericht af naar de uitvoer. Als er geen aanvragen zijn om te verwerken, drukt Dev Proxy het No requests to process bericht af. Als er een fout is opgetreden in een invoegtoepassing, drukt Dev Proxy het An error occurred in a plugin bericht af. Wanneer u een van deze berichten ziet, kunt u ervoor zorgen dat dev proxy klaar is met het verwerken van de geregistreerde aanvragen.
Voorbeeld van startscript
Hier volgt een voorbeeld van een bash-script dat u kunt gebruiken om Dev Proxy te starten in een CI/CD-pijplijn:
log_file=devproxy.log
echo "Ensuring Dev Proxy rootCert folder"
mkdir -p ~/.config/dev-proxy/rootCert
# start Dev Proxy in the background
# log Dev Proxy output to the log file
# log stdout and stderr to the file
echo "Starting Dev Proxy"
./devproxy/devproxy > $log_file 2>&1 &
echo "Waiting for Dev Proxy to start..."
while true; do
if grep -q "Listening on 127.0.0.1:8000" $log_file; then
break
fi
sleep 1
done
echo "Exporting the Dev Proxy's Root Certificate"
openssl pkcs12 -in ~/.config/dev-proxy/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:""
echo "Installing the Dev Proxy's Root Certificate"
sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/
echo "Updating the CA certificates"
sudo update-ca-certificates
echo "Set proxy variables"
export http_proxy=http://127.0.0.1:8000
export https_proxy=http://127.0.0.1:8000