From d27c7e8d2fd99f74dd1d96d56e99b800b75e85e2 Mon Sep 17 00:00:00 2001 From: admin-linexos Date: Tue, 26 Nov 2024 16:55:57 +0000 Subject: [PATCH] Actualiser recuperation_config.sh --- recuperation_config.sh | 48 +++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/recuperation_config.sh b/recuperation_config.sh index 1910f13..ed774b2 100755 --- a/recuperation_config.sh +++ b/recuperation_config.sh @@ -6,21 +6,15 @@ BASE_URL="https://repolake.alc-crm.com" API_URL="$BASE_URL/api/v1" REPO_NAME=$(hostname) REPO_URL="$BASE_URL/$ORG/$REPO_NAME.git" -REPO_PATH="/etc/gitea/ConfigSysRepo" # Chemin local générique pour cloner les dépôts +REPO_PATH="/etc/gitea/CONFIGS/$REPO_NAME" # Ajusté pour inclure l'organisation correcte BRANCH="main" TOKEN="434ac97ae9def5ac02024971582e82dd35f89ee0" REPO_URL_TOKEN="https://$TOKEN@repolake.alc-crm.com/$ORG/$REPO_NAME.git" -HOSTNAME=$(hostname) # Nom de la machine +HOSTNAME=$(hostname) echo "Début du script pour $HOSTNAME" -# Configurer les informations utilisateur Git pour le dépôt local si elles ne sont pas déjà configurées -if ! git config user.name &>/dev/null; then - git config user.name "admin-linexos" - git config user.email "technique@linexos.fr" -fi - -# Vérifie si le dépôt existe déjà en utilisant l'API de Gitea +# Vérifie si le dépôt existe déjà via l'API response=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: token $TOKEN" "$API_URL/repos/$ORG/$REPO_NAME") if [ "$response" -ne 200 ]; then @@ -34,33 +28,41 @@ else echo "Le dépôt $REPO_NAME existe déjà." fi -# Vérifie si le répertoire du dépôt existe localement et le clone si nécessaire +# Vérifie si le répertoire du dépôt existe localement if [ ! -d "$REPO_PATH/.git" ]; then - echo "Le dépôt n'existe pas localement. Clonage du dépôt..." + echo "Clonage dans $REPO_PATH..." git clone "$REPO_URL_TOKEN" "$REPO_PATH" cd "$REPO_PATH" - - # Initialisation du dépôt local et création de la branche main - echo "Initialisation du dépôt local..." git checkout -b $BRANCH - touch .gitkeep # Ajoute un fichier pour initialiser le dépôt + touch .gitkeep git add .gitkeep git commit -m "Initial commit" git push --set-upstream origin $BRANCH else - echo "Le dépôt existe déjà localement." + echo "Le dépôt existe localement." cd "$REPO_PATH" git checkout $BRANCH || git checkout -b $BRANCH fi -# Tente de mettre à jour le dépôt local en cas de modifications distantes +# Configurer les informations utilisateur Git +if ! git config user.name &>/dev/null; then + git config user.name "admin-linexos" + git config user.email "technique@linexos.fr" +fi + +# Vérifier et corriger l'URL du dépôt distant +git remote set-url origin "$REPO_URL_TOKEN" +echo "URL distante configurée pour : $REPO_URL_TOKEN" +git remote -v # Afficher l'URL distante configurée + +# Pull des mises à jour distantes git pull --rebase origin $BRANCH -# Lecture des chemins des fichiers depuis le fichier de configuration -CONFIG_FILE="/etc/gitea/path_config" # Chemin du fichier de configuration +# Lecture des chemins depuis le fichier de configuration +CONFIG_FILE="/etc/gitea/path_config" if [ ! -f "$CONFIG_FILE" ]; then - echo "Le fichier de configuration $CONFIG_FILE n'existe pas." + echo "Le fichier $CONFIG_FILE n'existe pas." exit 1 fi @@ -70,17 +72,15 @@ while IFS= read -r file; do if [ -f "$file" ]; then DEST_DIR="$REPO_PATH/$(dirname "$file")" mkdir -p "$DEST_DIR" - echo "Copie de $file vers $DEST_DIR" cp "$file" "$DEST_DIR" + echo "Copié $file vers $DEST_DIR" else echo "Le fichier $file n'existe pas: $file" fi done < "$CONFIG_FILE" -# Ajout de toutes les modifications +# Ajout et push des modifications git add -A - -# Git operations git commit -m "Mise à jour des fichiers de configuration pour $HOSTNAME" git push origin $BRANCH echo "Modifications poussées vers le dépôt."