#!/bin/bash #================================================= # GENERIC STARTING #================================================= # IMPORT GENERIC HELPERS #================================================= source _common.sh source /usr/share/yunohost/helpers # Load common variables for all scripts. source _variables #================================================= # LOAD SETTINGS #================================================= # Récupère les infos de l'application. app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get $app domain) path_url=$(ynh_app_setting_get $app path) is_public=$(ynh_app_setting_get $app is_public) port=$(ynh_app_setting_get $app port) #================================================= # CHECK VERSION #================================================= ynh_abort_if_up_to_date #================================================= # FIX OLD THINGS #================================================= if [ "$is_public" = "Yes" ]; then ynh_app_setting_set $app is_public 1 # Fixe is_public en booléen is_public=1 elif [ "$is_public" = "No" ]; then ynh_app_setting_set $app is_public 0 is_public=0 fi # Remove the apt list entry for jenkins if [ -e "/etc/apt/sources.list.d/jenkins.list" ] then ynh_secure_remove /etc/apt/sources.list.d/jenkins.list # Récupère l'id de la clé APT de jenkins apt_key=$(apt-key list | grep -B1 "Kohsuke Kawaguchi" | grep pub | cut -d'/' -f2 | cut -d' ' -f1) apt-key del $apt_key # Supprime la clé APT apt-get update fi #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= # Backup the current version of the app ynh_backup_before_upgrade ynh_clean_setup () { ynh_clean_check_starting # restore it if the upgrade fails ynh_restore_upgradebackup } # Exit if an error occurs during the execution of the script ynh_abort_if_errors #================================================= # UPGRADE JENKINS #================================================= wget --no-verbose https://pkg.jenkins.io/debian-stable/binary/jenkins_${jenkins_version}_all.deb dpkg --install jenkins_${jenkins_version}_all.deb #================================================= # FIX JENKINS SETUP #================================================= if [ "$path_url" != "/" ]; then # Ajoute le path en cas d'installation en sous-dossier dans les options de démarrage de Jenkins if ! grep --quiet "prefix=$path_url" /etc/default/jenkins then sed -i "$ s@--httpPort=\$HTTP_PORT@& --prefix=$path_url@g" /etc/default/jenkins fi fi #================================================= # NGINX CONFIGURATION #================================================= ynh_add_nginx_config #================================================= # SETUP SSOWAT #================================================= if [ $is_public -eq 1 ] then ynh_app_setting_set $app unprotected_uris "/" else ynh_app_setting_delete $app unprotected_uris fi #================================================= # RELOAD NGINX #================================================= ynh_system_reload nginx #================================================= # CHECK JENKINS STARTING #================================================= # Wait for Jenkins fully started ynh_check_starting "Jenkins is fully up and running" "/var/log/$app/$app.log" "300"