mirror of
https://github.com/YunoHost-Apps/jenkins_ynh.git
synced 2024-09-03 19:26:18 +02:00
89 lines
2.6 KiB
Bash
89 lines
2.6 KiB
Bash
#!/bin/bash
|
|
|
|
#=================================================
|
|
# GENERIC START
|
|
#=================================================
|
|
# IMPORT GENERIC HELPERS
|
|
#=================================================
|
|
|
|
if [ ! -e _common.sh ]; then
|
|
# Get the _common.sh file if it's not in the current directory
|
|
cp ../settings/scripts/_common.sh ./_common.sh
|
|
chmod a+rx _common.sh
|
|
fi
|
|
source _common.sh
|
|
source /usr/share/yunohost/helpers
|
|
|
|
#=================================================
|
|
# MANAGE SCRIPT FAILURE
|
|
#=================================================
|
|
|
|
# Exit if an error occurs during the execution of the script
|
|
ynh_clean_setup () {
|
|
SUPPRESS_WARNING kill -s 15 $PID_TAIL # Arrête l'exécution de tail.
|
|
ynh_secure_remove "$tempfile"
|
|
}
|
|
ynh_abort_if_errors
|
|
|
|
#=================================================
|
|
# LOAD SETTINGS
|
|
#=================================================
|
|
|
|
app=$YNH_APP_INSTANCE_NAME
|
|
|
|
final_path=$(ynh_app_setting_get $app final_path)
|
|
domain=$(ynh_app_setting_get $app domain)
|
|
|
|
#=================================================
|
|
# STANDARD BACKUP STEPS
|
|
#=================================================
|
|
# BACKUP OF THE MAIN DIR OF THE APP
|
|
#=================================================
|
|
|
|
systemctl stop jenkins
|
|
sleep 1
|
|
|
|
CHECK_SIZE "$final_path"
|
|
ynh_backup "$final_path"
|
|
|
|
#=================================================
|
|
# BACKUP OF THE NGINX CONFIGURATION
|
|
#=================================================
|
|
|
|
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
|
|
|
|
#=================================================
|
|
# SPECIFIC BACKUP
|
|
#=================================================
|
|
# BACKUP OF THE JENKINS' BOOT CONFIG
|
|
#=================================================
|
|
|
|
ynh_backup /etc/default/$app
|
|
|
|
#=================================================
|
|
# START JENKINS IN BACKGROUND
|
|
#=================================================
|
|
|
|
# Démarre jenkins
|
|
WARNING echo "Redémarrage de jenkins"
|
|
tempfile="$(mktemp)"
|
|
tail -f -n1 /var/log/$app/$app.log > "$tempfile" & # Suit le démarrage dans le log
|
|
PID_TAIL=$! # Récupère le PID de la commande tail, qui est passée en arrière plan.
|
|
systemctl restart $app
|
|
|
|
#=================================================
|
|
# CHECK JENKINS STARTING
|
|
#=================================================
|
|
|
|
for i in `seq 1 300`
|
|
do # La boucle attend le démarrage de jenkins ou 5 minutes
|
|
if grep -q "Jenkins is fully up and running" "$tempfile"; then
|
|
WARNING echo "Le service $app a démarré correctement."
|
|
break # Si le log annonce le démarrage de jenkins, sort de la boucle.
|
|
fi
|
|
WARNING echo -n "."
|
|
sleep 1
|
|
done
|
|
echo ""
|
|
QUIET kill -s 15 $PID_TAIL # Arrête l'exécution de tail.
|
|
ynh_secure_remove "$tempfile"
|