diff --git a/automaj_doc/automaj_doc.md b/automaj_doc/automaj_doc.md index 3b2048fbeaa3be921a97ec2a6fdb0f97aefd15fd..db9d9bac445fb4b92af261e2ed784a45dc2ad50f 100644 --- a/automaj_doc/automaj_doc.md +++ b/automaj_doc/automaj_doc.md @@ -6,20 +6,33 @@ L'objectif est la mise à jour automatique est continue de l'ensemble des sous-m 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: http://vm09.veremes.net:81/webhooks/update_submodules.php). +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: http://gitlab.veremes.net:81/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 http://vm09.veremes.net:81/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. +Sur chaque sous dépôt un webhook ver http://gitlab.veremes.net:81/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 les fichiers update_repos_submodules.sh et update_repos_submodules_as_veremes.sh et leur donner des droits en execution 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 +``` diff --git a/automaj_doc/update_repos_submodules.sh b/automaj_doc/update_repos_submodules.sh index 2333aface41ae0d12cf5a83024dc5d806e2634ff..9869d33493e02efe78b1088fc8a6ba2ff9531c03 100644 --- a/automaj_doc/update_repos_submodules.sh +++ b/automaj_doc/update_repos_submodules.sh @@ -6,7 +6,7 @@ for repo in `echo doc_app_vmap doc_app_gtf doc_app_calimap doc_app_extraction doc_app_myrecepisse doc_app_risdict doc_app_sigrando`; do echo "---- Clone ${repo} ----" if [ ! -d "$repo" ]; then - git clone "git@vm09.veremes.net:Documentation/${repo}.git" + git clone "git@gitlab.veremes.net:Documentation/${repo}.git" fi if [ -d "$repo" ]; then if [ -d "$repo/.git" ]; then diff --git a/automaj_doc/update_repos_submodules_as_veremes.sh b/automaj_doc/update_repos_submodules_as_veremes.sh deleted file mode 100644 index af467bac9127d491d7cda983b230a12b255f5876..0000000000000000000000000000000000000000 --- a/automaj_doc/update_repos_submodules_as_veremes.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/expect -f -set password "veremes**gitlab" - -spawn ./update_repos_submodules.sh - -set timeout 600 -expect { - -nocase "*?Enter passphrase*" { - send "$password\r" - exp_continue - } - -nocase "*?(yes/no*" { - send "yes\r" - exp_continue - } -} - -expect eof diff --git a/automaj_doc/update_submodules.php b/automaj_doc/update_submodules.php index bbae515eae23576911259bb98fdcff989f08006d..e508b269a6b67d491198c0ed0205705f6a292aa8 100644 --- a/automaj_doc/update_submodules.php +++ b/automaj_doc/update_submodules.php @@ -1,7 +1,7 @@ <?php chdir("/var/tmp_git_repos/"); $aOutput = array(); - exec("./update_repos_submodules_as_veremes.sh", $aOutput); + exec("./update_repos_submodules.sh", $aOutput); foreach ($aOutput as $key => $value) { echo('<div>' . $value . '</div>'); }