add docker files
This commit is contained in:
parent
98bc95f1b1
commit
57d5d55427
@ -26,7 +26,7 @@ deploy-job:
|
||||
- deploiement
|
||||
script:
|
||||
- |
|
||||
set -x
|
||||
set -e
|
||||
echo "Déploiement sur Portainer..."
|
||||
echo "Utilisation du token API de Portainer..."
|
||||
|
||||
@ -34,26 +34,46 @@ deploy-job:
|
||||
if [ -z "$PORTAINER_API_KEY" ]; then echo "Erreur : PORTAINER_API_KEY non définie."; exit 1; fi
|
||||
if [ -z "$PORTAINER_URL" ]; then echo "Erreur : PORTAINER_URL non définie."; exit 1; fi
|
||||
if [ -z "$STACK_ID" ]; then echo "Erreur : STACK_ID non définie."; exit 1; fi
|
||||
if [ -z "$ENDPOINT_ID" ]; then echo "Erreur : ENDPOINT_ID non définie."; exit 1; fi
|
||||
|
||||
# Affichage des variables (sauf les sensibles)
|
||||
# Affichage des variables (non sensibles)
|
||||
echo "PORTAINER_URL : $PORTAINER_URL"
|
||||
echo "STACK_ID : $STACK_ID"
|
||||
echo "ENDPOINT_ID : $ENDPOINT_ID"
|
||||
|
||||
echo "Lecture du fichier docker-compose.yml..."
|
||||
|
||||
# Vérifier que docker-compose.yml existe
|
||||
if [ ! -f docker-compose.yml ]; then
|
||||
echo "Erreur : Le fichier docker-compose.yml n'existe pas."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Lire le contenu du fichier docker-compose.yml
|
||||
STACK_FILE_CONTENT=$(cat docker-compose.yml)
|
||||
|
||||
# Échapper les nouvelles lignes pour le JSON
|
||||
STACK_FILE_CONTENT_JSON=$(echo "$STACK_FILE_CONTENT" | awk '{printf "%s\\n", $0}')
|
||||
|
||||
# Construire le corps de la requête JSON
|
||||
DATA="{\"stackFileContent\":\"$STACK_FILE_CONTENT_JSON\"}"
|
||||
|
||||
echo "Déploiement de la stack sur Portainer..."
|
||||
|
||||
RESPONSE=$(curl -v -X PUT \
|
||||
# Exécuter la requête pour mettre à jour la stack
|
||||
RESPONSE=$(curl -s -k -w "%{http_code}" -X POST \
|
||||
-H "Authorization: Bearer $PORTAINER_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"Prune": true}' \
|
||||
https://$PORTAINER_URL/api/stacks/$STACK_ID/deploy 2>&1)
|
||||
-d "$DATA" \
|
||||
"https://$PORTAINER_URL/api/stacks/$STACK_ID/update?endpointId=$ENDPOINT_ID")
|
||||
|
||||
HTTP_CODE=$(echo "$RESPONSE" | grep "< HTTP/" | awk '{print $3}')
|
||||
|
||||
echo "Réponse de l'API :"
|
||||
echo "$RESPONSE"
|
||||
# Extraire le code HTTP de la réponse
|
||||
HTTP_CODE="${RESPONSE: -3}"
|
||||
BODY="${RESPONSE::-3}"
|
||||
|
||||
if [ "$HTTP_CODE" != "200" ]; then
|
||||
echo "Erreur : Échec du déploiement. Code HTTP : $HTTP_CODE"
|
||||
echo "Réponse de l'API : $BODY"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user