Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Použití dev Proxy ve scénářích CI/CD je skvělý způsob, jak otestovat aplikace v řízeném prostředí. Když zkombinujete Dev Proxy s testy, které generují požadavky rozhraní API ve vaší aplikaci, můžete pokrýt celou řadu scénářů: z toho, že vaše aplikace nepoužívá stínová nebo neprodukční rozhraní API ke kontrole, že používá minimální oprávnění Microsoft Graphu. Přesný postup konfigurace se liší v závislosti na vašem systému CI/CD, tady jsou některé obecné principy, které byste měli dodržovat.
Ve většině případů váš spouštěč nemá nainstalovaný Dev Proxy. Než tedy budete moct používat Dev Proxy, musíte ho nainstalovat. Kroky instalace závisejí na operačním systému, který váš spouštěč používá.
Spropitné
Pokud chcete urychlit svou pipeline, zvažte ukládání instalační složky Dev Proxy do mezipaměti. Tak nemusíte stahovat Dev Proxy při každém spuštění pipeline. Přesné kroky najdete v dokumentaci k systému CI/CD.
Při instalaci Dev Proxy v prostředí CI/CD obvykle chcete uzamknout verzi Dev Proxy, kterou instalujete. Připnutí verze zajistí, že vaše sestava při každém spuštění používá stejnou verzi Dev Proxy. Přesný postup připnutí verze závisí na operačním systému konkrétního běhového prostředí. Tady je příklad, jak můžete připnout verzi Dev Proxy na spouštěči založeném na Linuxu:
# install Dev Proxy v1.0.0
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" -- v1.0.0
Spuštění dev proxy serveru
Po instalaci Dev Proxy je potřeba ho spustit. Při spouštění Dev Proxy v kanálu CI/CD je důležité, abyste Dev Proxy spustili na pozadí. Jinak se kanál zablokuje, dokud nezastavíte Dev Proxy.
Pokud používáte spouštěč založený na Linuxu, můžete spustit Dev Proxy na pozadí:
# start Dev Proxy in the background
./devproxy/devproxy &`.
Důvěřovat kořenovému certifikátu dev proxy serveru
Po spuštění dev proxy serveru musíte před odesláním požadavků důvěřovat kořenovému certifikátu dev proxy serveru, protože dev proxy používá kořenový certifikát podepsaný svým držitelem.
Po spuštění dev proxy serveru rootCert.pfx se certifikát vytvoří ve ~/.config/dev-proxy/rootCert složce.
V závislosti na vašich oprávněních možná budete muset vytvořit ~/.config/dev-proxy/rootCert složku před spuštěním dev proxy serveru:
# 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 &
Pokud používáte spouštěč pro Linux, můžete kořenový certifikát dev proxy nainstalovat tak, že ho zkopírujete do úložiště důvěryhodných certifikátů certifikační autority systému:
# 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
Počkejte, než se spustí dev proxy server.
Když spustíte dev Proxy na pozadí, skript se spustí okamžitě. Dev Proxy ale potřebuje nějaký čas na spuštění. Abyste měli jistotu, že je dev proxy server připravený před zahájením vydávání požadavků, počkejte na jeho spuštění. Pokud chcete počkat, až se dev proxy server spustí, zapište jeho výstup do souboru a zkontrolujte, jestli dev proxy naslouchá webovým požadavkům, například:
# 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
Konfigurace proměnných prostředí proxy serveru
Mnoho aplikací a knihoven používá http_proxyhttps_proxy proměnné prostředí k určení proxy serveru, který se má použít pro požadavky HTTP a HTTPS. Aby vaše aplikace používala Dev Proxy, musíte nastavit tyto proměnné prostředí tak, aby směřovaly na instanci Dev Proxy.
export http_proxy=http://127.0.0.1:8000
export https_proxy=http://127.0.0.1:8000
Řízení vývojového proxy serveru
Když v kanálu CI/CD spustíte Dev Proxy, nemůžete ho interaktivně ovládat. Místo toho ho můžete řídit odesláním požadavků do rozhraní DEV Proxy API.
Pokud chcete analyzovat požadavky rozhraní API vydané vaší aplikací, můžete odeslat POST požadavek do koncového /record bodu:
curl -X POST http://localhost:8897/proxy/record -H "Content-Type: application/json" -d '{"recording": true}'
Pokud chcete zastavit vývojový proxy server, můžete odeslat POST požadavek do koncového /stop bodu:
curl -X POST http://localhost:8897/proxy/stop
Po zastavení procesu dev proxy může chvíli trvat, než se proces úplně zavře. Pokud chcete zajistit, že Dev Proxy dokončil, počkejte, až se zavře proces, například:
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
Jakmile se všechny moduly plug-in pro nahrávání dokončí činnost, Dev Proxy vytiskne zprávu DONE do výstupu. Pokud nebyly žádné požadavky na zpracování, dev proxy vytiskne zprávu No requests to process. Pokud v modulu plug-in došlo k chybě, Dev Proxy zobrazí zprávu An error occurred in a plugin. Když se zobrazí některé z těchto zpráv, můžete se ujistit, že dev Proxy dokončil zpracování zaznamenaných požadavků.
Ukázkový spouštěcí skript
Tady je příklad skriptu Bash, který můžete použít ke spuštění dev Proxy v kanálu CI/CD:
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