Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’utilisation du proxy de développement dans les scénarios CI/CD est un excellent moyen de tester vos applications dans un environnement contrôlé. Lorsque vous combinez le proxy de développement avec des tests qui génèrent des demandes d’API dans votre application, vous pouvez couvrir un large éventail de scénarios : de s’assurer que votre application n’utilise pas d’API d’ombre ou de non-production pour vérifier qu’elle utilise des autorisations Microsoft Graph minimales. Bien que les étapes de configuration exactes varient en fonction de votre système CI/CD, voici quelques principes généraux que vous devez suivre.
Dans la plupart des cas, votre exécuteur n’a pas installé Dev Proxy. Avant de pouvoir utiliser le proxy de développement, vous devez l’installer. Les étapes d’installation dépendent du système d’exploitation que votre exécuteur utilise.
Conseil / Astuce
Pour accélérer votre pipeline, envisagez de mettre en cache le dossier d’installation du proxy de développement. De cette façon, vous n’avez pas besoin de télécharger le proxy de développement chaque fois que vous exécutez votre pipeline. Pour connaître les étapes exactes, reportez-vous à la documentation de votre système CI/CD.
Lors de l’installation de Dev Proxy dans une configuration CI/CD, vous souhaitez généralement épingler la version de Dev Proxy que vous installez. Fixer la version garantit que votre pipeline utilise la même version de Dev Proxy chaque fois que vous l’exécutez. La procédure exacte pour épingler une version dépend du système d’exploitation de votre exécuteur. Voici un exemple de la façon dont vous pouvez épingle la version de Dev Proxy sur un exécuteur Linux :
# install Dev Proxy v1.0.0
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)" -- v1.0.0
Démarrer le proxy de développement
Après avoir installé le proxy de développement, vous devez le démarrer. Lors du démarrage de Dev Proxy dans un pipeline CI/CD, il est important que ce démarrage s’effectue en arrière-plan. Sinon, votre pipeline sera bloqué jusqu’à ce que vous arrêtiez Dev Proxy.
Si vous utilisez un exécuteur Linux, vous pouvez démarrer le proxy de développement en arrière-plan :
# start Dev Proxy in the background
./devproxy/devproxy &`.
Approuver le certificat racine de Dev Proxy
Après avoir démarré le proxy de développement, vous devez approuver le certificat racine du proxy de développement avant d’envoyer des demandes, car le proxy dev utilise un certificat racine auto-signé.
Au démarrage du proxy de développement, le rootCert.pfx certificat est créé dans le ~/.config/dev-proxy/rootCert dossier.
Selon vos autorisations, vous devrez peut-être créer le dossier ~/.config/dev-proxy/rootCert avant de démarrer le proxy de développement :
# 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 &
Si vous utilisez un serveur basé sur Linux, vous pouvez installer le certificat racine du proxy de développement en le copiant dans le magasin des certificats CA approuvés du système :
# 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
Attendez que le proxy de développement démarre
Lorsque vous démarrez le proxy de développement en arrière-plan, votre script s’exécute immédiatement. Toutefois, le proxy de développement a besoin d’un certain temps pour démarrer. Pour vous assurer que le proxy de développement est prêt avant de commencer à émettre des demandes, attendez qu’il démarre. Pour attendre que le proxy de développement démarre, consignez sa sortie dans un fichier, puis vérifiez si le proxy de développement écoute les demandes web, par exemple :
# 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
Configurer des variables d’environnement proxy
De nombreuses applications et bibliothèques utilisent les variables d’environnement http_proxy et https_proxy pour déterminer le serveur proxy à utiliser pour les requêtes HTTP et HTTPS. Pour vous assurer que votre application utilise le proxy de développement, vous devez définir ces variables d’environnement pour qu’elles pointent vers l’instance du proxy de développement.
export http_proxy=http://127.0.0.1:8000
export https_proxy=http://127.0.0.1:8000
Gérer le Dev Proxy
Lorsque vous exécutez le proxy de développement dans un pipeline CI/CD, vous ne pouvez pas le contrôler de manière interactive. Au lieu de cela, vous pouvez le contrôler en envoyant des demandes à l’API proxy de développement.
Si vous souhaitez analyser les demandes d’API émises par votre application, vous pouvez envoyer une POST demande au /record point de terminaison :
curl -X POST http://localhost:8897/proxy/record -H "Content-Type: application/json" -d '{"recording": true}'
Pour arrêter le proxy de développement, vous pouvez envoyer une POST requête au /stop point de terminaison :
curl -X POST http://localhost:8897/proxy/stop
Après avoir arrêté le processus du proxy de développement, cela peut prendre un certain temps pour qu'il se ferme complètement. Pour vous assurer que le proxy de développement a terminé, attendez que le processus se ferme, par exemple :
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
Lorsque tous les plug-ins d’enregistrement ont terminé leur exécution, le proxy de développement affiche le message DONE dans la sortie. S’il n’y avait aucune demande à traiter, le proxy de développement imprime le No requests to process message. Si une erreur s’est produite dans un plug-in, le proxy de développement imprime le An error occurred in a plugin message. Lorsque vous voyez l’un de ces messages, vous pouvez être sûr que le proxy de développement a terminé le traitement des demandes enregistrées.
Exemple de script de démarrage
Voici un exemple de script bash que vous pouvez utiliser pour démarrer le proxy de développement dans un pipeline 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