"Ajout expl_refresh_thsf_site.sh"

This commit is contained in:
Doug Le Tough 2017-07-23 03:55:01 +02:00
parent 0bfe1ed5e3
commit 254fe62e0a
5 changed files with 176 additions and 3 deletions

View File

@ -4,7 +4,7 @@
# Auteur : Doug Le Tough # Auteur : Doug Le Tough
# Date : 23-07-2017 # Date : 23-07-2017
# Version : 1.0.0 # Version : 1.0.0
# Objet : Permet la mise à jour de l'insallation du socle bash # Objet : Permet la mise à jour de l'installation du socle bash
# sur les VM du Tetalab # sur les VM du Tetalab
# #
#------------------------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------------------------
@ -25,7 +25,7 @@
#------------------------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------------------------
# Liste des paramètres de configuration: # Liste des paramètres de configuration:
# #
# SOCLE_BASE_DIR=/home/asr/ # SOCLE_DIR=/home/asr/
# SOCLE_GIT_URL=ssh://git@tetalab.org:2213/tetalab/socle_bash # SOCLE_GIT_URL=ssh://git@tetalab.org:2213/tetalab/socle_bash
# TETALAB_VM[0]=jimmy.local.tetalab.org # TETALAB_VM[0]=jimmy.local.tetalab.org
# TETALAB_VM[1]=billy.local.tetalab.org # TETALAB_VM[1]=billy.local.tetalab.org

View File

@ -0,0 +1,166 @@
#!/bin/bash
#------------------------------------------------------------------------------------------------------------------
# Script : expl_refresh_thsf_site.sh
# Auteur : Doug Le Tough
# Date : 23-07-2017
# Version : 1.0.0
# Objet : Permet la mise à jour du site du THSF à partir du dépôt git
#
#------------------------------------------------------------------------------------------------------------------
# Mise a jour :
#
# 1.0.0 22/07/2017 - Doug Le Tough - Cre : Mise en production
#
#------------------------------------------------------------------------------------------------------------------
# Dependances : Aucune
#
#------------------------------------------------------------------------------------------------------------------
# Liste des options et arguments:
#
# Ce script n'accepte *aucune* option
#
# @OPT: f:bidon::::::
#
#------------------------------------------------------------------------------------------------------------------
# Liste des paramètres de configuration:
#
# THSF_DIR=/var/www/www.thsf.net
# THSF_GIT_URL=ssh://git@jimmy:/fatalerrors/thsf-pico
# THSF_GIT_USER=asr
# THSF_HTTPD_USER=apache
# THSF_DIR_MODE=755
#
#------------------------------------------------------------------------------------------------------------------
# Liste des erreurs:
#
# 2 | erreur | stop | ${ERROR}
#
#------------------------------------------------------------------------------------------------------------------
##
## Syntaxe :
## --------
##
## prompt> expl_refresh_thsf_site.sh
##
## ex:
## expl_refresh_thsf_site.sh
##
## Prérequis:
## ----------
## - Le script doit être executé par l'utilisateur asr sur marian
##
## Fonctionnement:
## ---------------
## Sur marien: Vérifie les différences entre la copie local du dépôt du site du THSF et le dépôt git.
## Met à jour a copie locale si nécessaire.
##
#------------------------------------------------------------------------------------------------------------------
# Initialisation de l'environement
#------------------------------------------------------------------------------------------------------------------
if [ "${USER}" != "asr" ]; then
ERROR="Seul l'utilisateur asr peut utiliser ce script"
echo -e "\033[91m${ERROR}\033[0m"
exit 1
fi
source /etc/profile.d/tetalab.sh
if [ ! -f ${NC_EXPL_CFG}/init.conf ]; then
echo "Le fichier d'initialisation du socle \${NC_EXPL_CFG}/init.conf n'éxiste pas !"
echo "Arrêt du script par sécurité"
exit 250
fi
source ${NC_EXPL_CFG}/init.conf
#------------------------------------------------------------------------------------------------------------------
# Fonctions
#------------------------------------------------------------------------------------------------------------------
function check_config
{
fct_message "Vérification de la configuration:" -color jaune
if [ ! -r ${SH_FICCFG} ]; then
ERROR="Fichier de configuration ${SH_FICCFG} absent ou illisible"
fct_erreur 2
fi
if [ ${#THSF_DIR} -eq 0 ]; then
ERROR="Paramètre manquant ou vide dans le fichier de configuration: THSF_DIR"
fct_erreur 2
fi
if [ ${#THSF_DIR_MODE} -eq 0 ]; then
ERROR="Paramètre manquant ou vide dans le fichier de configuration: THSF_DIR_MODE"
fct_erreur 2
fi
if [ ${#THSF_HTTPD_USER} -eq 0 ]; then
ERROR="Paramètre manquant ou vide dans le fichier de configuration: THSF_HTTPD_USER"
fct_erreur 2
fi
if [ ${#THSF_GIT_URL} -eq 0 ]; then
ERROR="Paramètre manquant ou vide dans le fichier de configuration: THSF_GIT_URL"
fct_erreur 2
fi
if [ ${#THSF_GIT_USER} -eq 0 ]; then
ERROR="Paramètre manquant ou vide dans le fichier de configuration: THSF_GIT_USER"
fct_erreur 2
fi
fct_message " * THSF_DIR: ${THSF_DIR}"
fct_message " * THSF_DIR_MODE: ${THSF_DIR_MODE}"
fct_message " * THSF_GIT_URL: ${THSF_GIT_URL}"
fct_message " * THSF_GIT_USER: ${THSF_GIT_USER}"
fct_message " * THSF_HTTPD_USER: ${THSF_HTTPD_USER}"
}
function update_thsf
{
fct_message "Mise à jour du site du THSF:" -color jaune
if [ ! -d ${THSF_DIR} ]; then
ERROR="La copie locale du dépôt n'existe pas: ${THSF_DIR}"
fct_erreur 2
fi
fct_message "Modification provisoire des droits sur ${THSF_DIR}" -color jaune
sudo chown -R ${THSF_GIT_USER}: ${THSF_DIR}
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
ERROR="Erreur lors du changement des droits"
fct_erreur 2
fi
cd ${THSF_DIR}
fct_message "Réinitialisation du dépot local" --color jaune
/usr/bin/git reset --hard
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
ERROR="Erreur lors de la réinitialisation"
fct_erreur 2
fi
fct_message "Mise à jour du dépôt local"
/usr/bin/git pull origin master
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
ERROR="Erreur lors de la mise à jour"
fct_erreur 2
fi
fct_message "Application des droits sur le dépôt local"
sudo chown -R ${THSF_HTTPD_USER}: ${THSF_DIR}
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
ERROR="Erreur lors de l'application des droits"
fct_erreur 2
fi
fct_message "Application des permissions sur le dépôt local"
sudo chmod -R ${THSF_DIR_MODE} ${THSF_DIR}
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
ERROR="Erreur lors de l'application des permissions "
fct_erreur 2
fi
}
#------------------------------------------------------------------------------------------------------------------
# Traitement
#------------------------------------------------------------------------------------------------------------------
check_config
update_thsf
fct_erreur 0

View File

@ -1,5 +1,5 @@
SOCLE_DIR=/home/asr/socle_bash SOCLE_DIR=/home/asr/socle_bash
SOCLE_GIT_URL=ssh://git@tetalab.org:2213/tetalab/socle_bash SOCLE_GIT_URL=ssh://git@jimmy/tetalab/socle_bash
TETALAB_VM[0]=jimmy.local.tetalab.org TETALAB_VM[0]=jimmy.local.tetalab.org
TETALAB_VM[1]=billy.local.tetalab.org TETALAB_VM[1]=billy.local.tetalab.org
TETALAB_VM[2]=marian.local.tetalab.org TETALAB_VM[2]=marian.local.tetalab.org

View File

@ -0,0 +1,5 @@
THSF_DIR=/var/www/www.thsf.net
THSF_GIT_URL=ssh://git@jimmy:/fatalerrors/thsf-pico
THSF_GIT_USER=asr
THSF_HTTPD_USER=apache
THSF_DIR_MODE=755

View File

@ -0,0 +1,2 @@
2 | erreur | stop | ${ERROR}
3 | erreur | continu | ${ERROR}