diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cbd02bd..171ad31 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,21 +22,43 @@ test-job: deploy-job: stage: deploy - tags: - - deploiement script: + - set -x - echo "Déploiement sur Portainer..." - echo "Utilisation du token API de Portainer..." + + # Vérifier que la variable PORTAINER_API_KEY est définie (sans l'afficher) + - if [ -z "$PORTAINER_API_KEY" ]; then echo "Erreur : La variable PORTAINER_API_KEY n'est pas définie."; exit 1; fi + + # Vérifier que PORTAINER_URL et STACK_ID sont définis + - if [ -z "$PORTAINER_URL" ]; then echo "Erreur : La variable PORTAINER_URL n'est pas définie."; exit 1; fi + - if [ -z "$STACK_ID" ]; then echo "Erreur : La variable STACK_ID n'est pas définie."; exit 1; fi + + # Optionnel : Afficher les variables (sans afficher les données sensibles) + - echo "PORTAINER_URL : $PORTAINER_URL" + - echo "STACK_ID : $STACK_ID" + + - echo "Déploiement de la stack sur Portainer..." + + # Exécuter la commande curl avec l'option -v pour avoir plus de détails - | - API_KEY="$PORTAINER_API_KEY" - - | - curl -s -X PUT \ - -H "Authorization: Bearer $API_KEY" \ + RESPONSE=$(curl -v -X PUT \ + -H "Authorization: Bearer $PORTAINER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"Prune": true}' \ - http://$PORTAINER_URL/api/stacks/$STACK_ID/deploy - - echo "Déploiement terminé." + http://$PORTAINER_URL/api/stacks/$STACK_ID/deploy 2>&1) + + # Extraire le code HTTP de la réponse + HTTP_CODE=$(echo "$RESPONSE" | grep "< HTTP/" | awk '{print $3}') + + # Afficher la réponse pour le débogage + echo "Réponse de l'API :" + echo "$RESPONSE" + + if [ "$HTTP_CODE" != "200" ]; then + echo "Erreur : Échec du déploiement. Code HTTP : $HTTP_CODE" + exit 1 + fi + + - echo "Déploiement terminé avec succès." - dependencies: - - build-job - - test-job