# Mise à jour automatique de la documentation ## Objetctif L'objectif est la mise à jour automatique est continue de l'ensemble des sous-modules des différents dépôts liés à la documentation Veremes. Pour ce faire il faudra créer un serveur linux sur lequel il faudra installer Git et GitLab, pour nous ce sera vm09.veremes.net Le but est de placer sur chacun des dépôts utilisés comme sous-module (ex: doc_module_vitis, doc_module_anc) un web-hook vers le serveur web-hooks (ex: https://gitlab.veremes.net:444/webhooks/update_submodules.php). Lors de chaque modification sur le sous dépôt, gitlab envéra une requête POST à l'URL du serveur web-hook, ce la va déclencher le script update_repos_submodules_as_veremes.sh qui va mettre à jour localement les différents dépôts, mettre à jour leurs sous-modules et commiter le tout avec le compte Veremes. ## Fonctionnement Sur chaque sous dépôt un webhook ver https://gitlab.veremes.net:444/webhooks/update_submodules.php envoie lors de chaque modification une requête au serveur. Sur ce dernier le fichier update_submodules.php va lancer le script update_repos_submodules_as_veremes.sh qui à sont tour lancera update_repos_submodules.sh en tant qu'utilisateur veremes. Ce dernier contient une liste de projets parents, pour chacun d'entre eux il mettra à jour l'ensemble des sous-modules et commitera le message "update submodules". ## Dépot local Il faut dans une première partie re-créer sur la serveur dans un dossier en lecture/écriture /var/tmp_git_repos/ dans lequel il faudra placer le fichier update_repos_submodules.sh et lui donner des droits en exécution uniquement. ``` sudo apt install -y expect sudo mkdir /var/tmp_git_repos/ sudo chmod 777 -R /var/tmp_git_repos/ ``` ## Serveur web-hooks Il faudra installer un apache php à câbler sur le port 81 puis dans le répertoire www/html créer un répertoire webhooks et y mettre le fichier update_submodules.php ``` sudo apt install apache2 sudo nano /etc/apache2/ports.conf sudo nano /etc/apache2/sites-available/000-default.conf sudo /etc/init.d/apache2 restart ```