Actualiser configs_old.sh
This commit is contained in:
parent
82a62bfcba
commit
949fd6e564
76
configs.sh
76
configs.sh
|
@ -1,76 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Configuration des variables
|
|
||||||
ORG="CONFIGS"
|
|
||||||
BASE_URL="http://10.106.100.152:3001"
|
|
||||||
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
|
|
||||||
BRANCH="main"
|
|
||||||
TOKEN="94f0bbfab6bb535dfd51e7387cc65fc75faa28f0"
|
|
||||||
REPO_URL_TOKEN="http://$TOKEN@10.13.1.126:3001/$ORG/$REPO_NAME.git"
|
|
||||||
HOSTNAME=$(hostname) # Nom de la machine
|
|
||||||
|
|
||||||
echo "Début du script pour $HOSTNAME"
|
|
||||||
|
|
||||||
# Vérifie si le dépôt existe déjà en utilisant l'API de Gitea
|
|
||||||
response=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: token $TOKEN" "$API_URL/repos/$ORG/$REPO_NAME")
|
|
||||||
|
|
||||||
if [ "$response" -ne 200 ]; then
|
|
||||||
echo "Le dépôt $REPO_NAME n'existe pas. Création du dépôt..."
|
|
||||||
curl -s -X POST -H "Authorization: token $TOKEN" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "{\"name\": \"$REPO_NAME\", \"private\": false}" \
|
|
||||||
"$API_URL/orgs/$ORG/repos"
|
|
||||||
echo "Dépôt $REPO_NAME créé."
|
|
||||||
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
|
|
||||||
if [ ! -d "$REPO_PATH/.git" ]; then
|
|
||||||
echo "Le dépôt n'existe pas localement. Clonage du dépôt..."
|
|
||||||
git clone "$REPO_URL_TOKEN" "$REPO_PATH"
|
|
||||||
else
|
|
||||||
echo "Le dépôt existe déjà localement."
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Changement dans le répertoire du dépôt
|
|
||||||
cd "$REPO_PATH"
|
|
||||||
git checkout $BRANCH
|
|
||||||
git remote set-url origin $REPO_URL_TOKEN
|
|
||||||
|
|
||||||
# Tente de mettre à jour le dépôt local en cas de modifications 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
|
|
||||||
|
|
||||||
if [ ! -f "$CONFIG_FILE" ]; then
|
|
||||||
echo "Le fichier de configuration $CONFIG_FILE n'existe pas."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Copie des fichiers de configuration en maintenant l'arborescence..."
|
|
||||||
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
echo "Le fichier $file n'existe pas."
|
|
||||||
fi
|
|
||||||
done < "$CONFIG_FILE"
|
|
||||||
|
|
||||||
# Ajout de toutes les modifications, y compris les suppressions
|
|
||||||
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."
|
|
||||||
|
|
||||||
echo "Fin du script."
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Configuration des variables
|
||||||
|
ORG="CONFIGS"
|
||||||
|
CLIENT="SFR" # Exemple de client
|
||||||
|
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/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)
|
||||||
|
|
||||||
|
echo "Début du script pour $HOSTNAME"
|
||||||
|
|
||||||
|
# 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
|
||||||
|
echo "Le dépôt $REPO_NAME n'existe pas. Création du dépôt..."
|
||||||
|
curl -s -X POST -H "Authorization: token $TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "{\"name\": \"$REPO_NAME\", \"private\": false}" \
|
||||||
|
"$API_URL/orgs/$ORG/repos"
|
||||||
|
echo "Dépôt $REPO_NAME créé."
|
||||||
|
else
|
||||||
|
echo "Le dépôt $REPO_NAME existe déjà."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Vérifie si le répertoire du dépôt existe localement
|
||||||
|
if [ ! -d "$REPO_PATH/.git" ]; then
|
||||||
|
echo "Clonage dans $REPO_PATH..."
|
||||||
|
git clone "$REPO_URL_TOKEN" "$REPO_PATH"
|
||||||
|
cd "$REPO_PATH"
|
||||||
|
git checkout -b $BRANCH
|
||||||
|
touch .gitkeep
|
||||||
|
git add .gitkeep
|
||||||
|
git commit -m "Initial commit"
|
||||||
|
git push --set-upstream origin $BRANCH
|
||||||
|
else
|
||||||
|
echo "Le dépôt existe localement."
|
||||||
|
cd "$REPO_PATH"
|
||||||
|
git checkout $BRANCH || git checkout -b $BRANCH
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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 depuis le fichier de configuration
|
||||||
|
CONFIG_FILE="/etc/gitea/path_config"
|
||||||
|
|
||||||
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||||||
|
echo "Le fichier $CONFIG_FILE n'existe pas."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Copie des fichiers de configuration en maintenant l'arborescence..."
|
||||||
|
|
||||||
|
while IFS= read -r file; do
|
||||||
|
if [ -f "$file" ]; then
|
||||||
|
DEST_DIR="$REPO_PATH/$(dirname "$file")"
|
||||||
|
mkdir -p "$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 et push des modifications
|
||||||
|
git add -A
|
||||||
|
git commit -m "Mise à jour des fichiers de configuration pour $HOSTNAME"
|
||||||
|
git push origin $BRANCH
|
||||||
|
echo "Modifications poussées vers le dépôt."
|
||||||
|
|
||||||
|
echo "Fin du script."
|
Loading…
Reference in New Issue