ændre ret en del i pull.sh
This commit is contained in:
52
pull.sh
52
pull.sh
@@ -1,48 +1,66 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Stop ved fejl
|
# Stop scriptet ved den mindste fejl
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Sørg for at scriptet køres som root
|
# --- TRIN 1: KØRES SOM ROOT ---
|
||||||
|
# Tjek om scriptet køres med sudo
|
||||||
if [[ $EUID -ne 0 ]]; then
|
if [[ $EUID -ne 0 ]]; then
|
||||||
echo "Dette script skal køres som root"
|
echo "Dette script skal køres som root (brug 'sudo ./pull.sh')"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Tjek om vi ved, hvem den oprindelige bruger er
|
# Tjek at vi ved, hvem den oprindelige bruger er
|
||||||
if [ -z "$SUDO_USER" ]; then
|
if [ -z "$SUDO_USER" ]; then
|
||||||
echo "FEJL: Kan ikke finde den oprindelige bruger. Kør venligst scriptet med 'sudo' og ikke direkte som root."
|
echo "FEJL: Kan ikke finde den oprindelige bruger. Kør venligst scriptet med 'sudo' og ikke direkte som root-bruger."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Opdater systemet og installer nødvendige pakker
|
echo "--- Systemopsætning (kører som root) ---"
|
||||||
echo ">>> Opdaterer systemet og installerer Git og Ansible..."
|
|
||||||
|
# Opdater systemet og installer de nødvendige grundpakker
|
||||||
|
echo ">>> Installerer git og ansible..."
|
||||||
pacman -Syu --noconfirm git ansible
|
pacman -Syu --noconfirm git ansible
|
||||||
|
|
||||||
# Installer de nødvendige Ansible Collections
|
# Installer de nødvendige Ansible Collections
|
||||||
echo ">>> Installerer nødvendige Ansible collections..."
|
echo ">>> Installerer ansible collections..."
|
||||||
ansible-galaxy collection install kewlfft.aur
|
ansible-galaxy collection install kewlfft.aur
|
||||||
ansible-galaxy collection install community.general
|
ansible-galaxy collection install community.general
|
||||||
|
|
||||||
# Klon dit repository (ERSTAT MED DIN REPOSITORY URL)
|
|
||||||
|
# --- TRIN 2: HENT PLAYBOOK (KØRES SOM ROOT) ---
|
||||||
|
# Definer stier (erstat med din egen repo-URL)
|
||||||
REPO_URL="https://git.futurebreeze.dk/mhah/Workstation_Arch_Hyprland.git"
|
REPO_URL="https://git.futurebreeze.dk/mhah/Workstation_Arch_Hyprland.git"
|
||||||
DEST="/opt/ansible-desktop"
|
DEST="/opt/ansible-desktop"
|
||||||
|
|
||||||
|
echo ">>> Henter playbook fra git..."
|
||||||
if [ -d "$DEST" ]; then
|
if [ -d "$DEST" ]; then
|
||||||
echo ">>> Opdaterer eksisterende repository..."
|
|
||||||
cd "$DEST"
|
cd "$DEST"
|
||||||
|
# Sørg for at den lokale branch ikke forhindrer pull
|
||||||
|
git reset --hard HEAD
|
||||||
git pull
|
git pull
|
||||||
else
|
else
|
||||||
echo ">>> Kloner repository..."
|
# Tilføj -k til curl/git hvis du bruger selv-signerede certifikater
|
||||||
git clone "$REPO_URL" "$DEST"
|
git clone "$REPO_URL" "$DEST"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Sørg for at den oprindelige bruger ejer filerne i repo'et
|
# Sørg for at den oprindelige bruger ejer alle filerne
|
||||||
|
echo ">>> Sætter korrekte filrettigheder..."
|
||||||
chown -R $SUDO_USER:$SUDO_USER "$DEST"
|
chown -R $SUDO_USER:$SUDO_USER "$DEST"
|
||||||
|
|
||||||
# Kør Ansible Playbook
|
|
||||||
echo ">>> Kører Ansible Playbook. Dette kan tage noget tid..."
|
|
||||||
cd "$DEST"
|
|
||||||
sudo -u $SUDO_USER ansible-pull -U "$REPO_URL" -d "$DEST" --ask-vault-pass local.yml
|
|
||||||
|
|
||||||
echo ">>> Færdig! Genstart systemet for at se ændringerne."
|
# --- TRIN 3: KØR PLAYBOOK (SKIFTER TIL DIN BRUGER) ---
|
||||||
|
echo ""
|
||||||
|
echo "--- Udfører Ansible Playbook (skifter til bruger '$SUDO_USER') ---"
|
||||||
|
echo "Gør dig klar til at indtaste din Vault adgangskode..."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Skift til den oprindelige bruger og kør playbook'en
|
||||||
|
# Brugen af 'bash -c' sikrer, at kommandoerne køres korrekt i den rigtige kontekst
|
||||||
|
sudo -u $SUDO_USER bash -c "cd '$DEST' && ansible-playbook --ask-vault-pass local.yml"
|
||||||
|
|
||||||
|
|
||||||
|
# --- TRIN 4: FÆRDIG ---
|
||||||
|
echo ""
|
||||||
|
echo "--- Script fuldført! ---"
|
||||||
|
echo "Playbook er kørt færdig. Du kan nu genstarte dit system."
|
||||||
Reference in New Issue
Block a user