mirror of
https://github.com/YunoHost-Apps/jenkins_ynh.git
synced 2024-09-03 19:26:18 +02:00
set -eu
This commit is contained in:
parent
50b821a47f
commit
6bbdec0aeb
1 changed files with 14 additions and 13 deletions
|
@ -7,11 +7,18 @@ CHECK_VAR () { # Vérifie que la variable n'est pas vide.
|
||||||
}
|
}
|
||||||
|
|
||||||
EXIT_PROPERLY () { # Provoque l'arrêt du script en cas d'erreur. Et nettoye les résidus.
|
EXIT_PROPERLY () { # Provoque l'arrêt du script en cas d'erreur. Et nettoye les résidus.
|
||||||
trap '' ERR
|
exit_code=$?
|
||||||
|
if [ "$exit_code" -eq 0 ]; then
|
||||||
|
exit 0 # Quitte sans erreur si le script se termine correctement.
|
||||||
|
fi
|
||||||
|
trap '' EXIT
|
||||||
|
set +eu
|
||||||
echo -e "\e[91m \e[1m" # Shell in light red bold
|
echo -e "\e[91m \e[1m" # Shell in light red bold
|
||||||
echo -e "!!\n $app install's script has encountered an error. Installation was cancelled.\n!!" >&2
|
echo -e "!!\n $app install's script has encountered an error. Installation was cancelled.\n!!" >&2
|
||||||
|
|
||||||
CLEAN_SETUP # Appel la fonction de nettoyage spécifique du script install.
|
if type -t CLEAN_SETUP > /dev/null; then # Vérifie l'existance de la fonction avant de l'exécuter.
|
||||||
|
CLEAN_SETUP # Appel la fonction de nettoyage spécifique du script install.
|
||||||
|
fi
|
||||||
|
|
||||||
# Compense le bug de ssowat qui ne supprime pas l'entrée de l'app en cas d'erreur d'installation.
|
# Compense le bug de ssowat qui ne supprime pas l'entrée de l'app en cas d'erreur d'installation.
|
||||||
sudo sed -i "\@\"$domain$path/\":@d" /etc/ssowat/conf.json
|
sudo sed -i "\@\"$domain$path/\":@d" /etc/ssowat/conf.json
|
||||||
|
@ -20,14 +27,8 @@ EXIT_PROPERLY () { # Provoque l'arrêt du script en cas d'erreur. Et nettoye les
|
||||||
}
|
}
|
||||||
|
|
||||||
TRAP_ON () { # Activate signal capture
|
TRAP_ON () { # Activate signal capture
|
||||||
trap EXIT_PROPERLY ERR # Capturing exit signals on error
|
set -eu # Exit if a command fail, and if a variable is used unset.
|
||||||
}
|
trap EXIT_PROPERLY EXIT # Capturing exit signals on shell script
|
||||||
|
|
||||||
TRAP_OFF () { # Ignoring signal capture until TRAP_ON
|
|
||||||
# Pour une raison que j'ignore, la fonction TRAP_ON fonctionne très bien.
|
|
||||||
# Mais pas la fonction TRAP_OFF...
|
|
||||||
# Utiliser directement `trap '' ERR` dans le code pour l'utiliser, à la place de la fonction.
|
|
||||||
trap '' ERR # Ignoring exit signals
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CHECK_USER () { # Vérifie la validité de l'user admin
|
CHECK_USER () { # Vérifie la validité de l'user admin
|
||||||
|
@ -66,7 +67,7 @@ GENERATE_DB () { # Créer une base de données et un utilisateur dédié au nom
|
||||||
CHECK_VAR "$db_pwd" "db_pwd empty"
|
CHECK_VAR "$db_pwd" "db_pwd empty"
|
||||||
# Utilise '$app' comme nom d'utilisateur et de base de donnée
|
# Utilise '$app' comme nom d'utilisateur et de base de donnée
|
||||||
# Initialise la base de donnée et stocke le mot de passe mysql.
|
# Initialise la base de donnée et stocke le mot de passe mysql.
|
||||||
ynh_mysql_create_db $db_user $db_user $db_pwd
|
ynh_mysql_create_db "$db_user" "$db_user" $db_pwd
|
||||||
ynh_app_setting_set $app mysqlpwd $db_pwd
|
ynh_app_setting_set $app mysqlpwd $db_pwd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +93,7 @@ SETUP_SOURCE () { # Télécharge la source, décompresse et copie dans $final_pa
|
||||||
}
|
}
|
||||||
|
|
||||||
ADD_SYS_USER () { # Créer un utilisateur système dédié à l'app
|
ADD_SYS_USER () { # Créer un utilisateur système dédié à l'app
|
||||||
if ynh_system_user_exists "$app" # Test l'existence de l'utilisateur
|
if ! ynh_system_user_exists "$app" # Test l'existence de l'utilisateur
|
||||||
then
|
then
|
||||||
sudo useradd -d /var/www/$app --system --user-group $app --shell /usr/sbin/nologin || (echo "Unable to create $app system account" >&2 && false)
|
sudo useradd -d /var/www/$app --system --user-group $app --shell /usr/sbin/nologin || (echo "Unable to create $app system account" >&2 && false)
|
||||||
fi
|
fi
|
||||||
|
@ -165,7 +166,7 @@ REMOVE_LOGROTATE_CONF () { # Suppression de la configuration de logrotate
|
||||||
}
|
}
|
||||||
|
|
||||||
SECURE_REMOVE () { # Suppression de dossier avec vérification des variables
|
SECURE_REMOVE () { # Suppression de dossier avec vérification des variables
|
||||||
chaine="$1"
|
chaine="$1" # L'argument doit être donné entre quotes simple '', pour éviter d'interpréter les variables.
|
||||||
no_var=0
|
no_var=0
|
||||||
while (echo "$chaine" | grep -q '\$') # Boucle tant qu'il y a des $ dans la chaine
|
while (echo "$chaine" | grep -q '\$') # Boucle tant qu'il y a des $ dans la chaine
|
||||||
do
|
do
|
||||||
|
|
Loading…
Reference in a new issue