Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Dev Proxy használata CI/CD-forgatókönyvekben nagyszerű módszer az alkalmazások ellenőrzött környezetben való tesztelésére. Ha a Dev Proxy-t olyan tesztekkel kombinálja, amelyek API-kéréseket generálnak az alkalmazásában, számos forgatókönyvet lefedhet: attól kezdve, hogy biztosítsa, az alkalmazása nem használ árnyék- vagy nem éles API-kat, egészen addig, amíg ellenőrzi, hogy csak minimális Microsoft Graph-engedélyeket használ. Bár a pontos konfigurációs lépések a CI/CD-rendszertől függően változnak, az alábbiakban néhány általános alapelvet kell követnie.
A legtöbb esetben a futó nem rendelkezik Dev Proxyval. Ezért mielőtt használhatja a Dev Proxyt, telepítenie kell. A telepítési lépései a futó által használt operációs rendszertől függenek.
Borravaló
A folyamat felgyorsításához fontolja meg a Dev Proxy telepítési mappájának gyorsítótárazását. Így nem kell minden alkalommal letöltenie a Dev Proxyt, amikor futtatja a folyamatot. A pontos lépésekért tekintse meg a CI/CD-rendszer dokumentációját.
Ha a Dev Proxyt ci/CD-telepítőben telepíti, általában a telepített Dev Proxy verzióját szeretné rögzíteni. A verzió rögzítése biztosítja, hogy a folyamat minden futtatáskor ugyanazt a Dev Proxy-verziót használja. A verzió rögzítésének pontos lépései a futó operációs rendszerétől függenek. Íme egy példa arra, hogyan rögzítheti a Dev Proxy verzióját egy Linux-alapú futón:
# install Dev Proxy v1.0.0
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" -- v1.0.0
Fejlesztői proxy indítása
A Dev Proxy telepítése után el kell indítania. CI/CD-folyamatban a Dev Proxy elindításakor fontos, hogy a háttérben fusson. Ellenkező esetben a folyamat le lesz tiltva, amíg le nem állítja a dev proxyt.
Ha Linux-alapú futót használ, a háttérben elindíthatja a Dev Proxyt:
# start Dev Proxy in the background
./devproxy/devproxy &`.
A fejlesztői proxy főtanúsítványának megbízhatósága
A Dev Proxy elindítása után a kérések elküldése előtt meg kell bíznia a Dev Proxy főtanúsítványában, mivel a Dev Proxy önaláírt főtanúsítványt használ.
A Dev Proxy indításakor a rootCert.pfx tanúsítvány a mappában ~/.config/dev-proxy/rootCert jön létre.
Az engedélyektől függően előfordulhat, hogy a dev proxy elindítása előtt létre kell hoznia a ~/.config/dev-proxy/rootCert mappát:
# 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 &
Ha Linux-alapú futót használ, a dev proxy főtanúsítványát úgy telepítheti, hogy a rendszer megbízható hitelesítésszolgáltatói tanúsítványtárolójába másolja:
# 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
Várjon, amíg a Dev Proxy elindul
Amikor elindítja a Dev Proxyt a háttérben, a szkript azonnal fut. A fejlesztői proxy indításához azonban időre van szükség. Ha meg szeretné győződni arról, hogy a Dev Proxy készen áll a kérelmek kiadása előtt, várja meg, amíg elindul. Ha várni szeretné, hogy a Dev Proxy elinduljon, naplózza a kimenetét egy fájlban, majd ellenőrizze, hogy a Dev Proxy figyeli-e a webes kéréseket, például:
# 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
Proxykörnyezet változóinak konfigurálása
Számos alkalmazás és kódtár használja a http_proxy környezeti változókat a HTTP- és https_proxy HTTPS-kérelmekhez használni kívánt proxykiszolgáló meghatározásához. Annak biztosításához, hogy az alkalmazás Dev Proxyt használjon, ezeket a környezeti változókat úgy kell beállítania, hogy a Dev Proxy-példányra mutasson.
export http_proxy=http://127.0.0.1:8000
export https_proxy=http://127.0.0.1:8000
Dev Proxy vezérlő
Amikor a Dev Proxy-t egy CI/CD csővezetékben futtatja, nem tudja azt interaktívan vezérelni. Ehelyett úgy szabályozhatja, hogy kéréseket küld a Dev Proxy API-nak.
Ha elemezni szeretné az alkalmazás által kiadott API-kéréseket, elküldhet egy kérést POST a /record végpontnak:
curl -X POST http://localhost:8897/proxy/record -H "Content-Type: application/json" -d '{"recording": true}'
A fejlesztői proxy leállításához elküldhet egy kérést POST a /stop végpontnak:
curl -X POST http://localhost:8897/proxy/stop
A Dev Proxy folyamat leállítása után eltarthat egy ideig, amíg teljesen bezárul. A Dev Proxy befejezésének biztosításához várja meg a folyamat bezárását, például:
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
Amikor az összes rögzítési beépülő modul fut, a Dev Proxy kinyomtatja a DONE üzenetet a kimenetre. Ha nem történt feldolgozásra irányuló kérés, a Dev Proxy kinyomtatja a No requests to process üzenetet. Ha hiba történt egy beépülő modulban, a Dev Proxy kinyomtatja a An error occurred in a plugin üzenetet. Ha bármelyik üzenetet látja, biztos lehet benne, hogy a Dev Proxy befejezte a rögzített kérések feldolgozását.
Példa indítási szkriptre
Íme egy példa egy bash-szkriptre, amellyel elindíthatja a Dev Proxyt egy CI/CD-folyamatban:
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