Documentation d'AgroMetInfo
Description
Ce projet contient les sources pour les pages statiques du site AgroMetInfo, c'est-à-dire :
- la page d'accueil,
- la documentation pour les utilisateurs,
- les notes de version de tout le projet,
- les pages légales.
Les pages sont publiées à https://agroclim.pages.mia.inra.fr/agrometinfo/documentation/ après construction et tests des liens grâce à l'intégration continue GitLab-CI.
Installation
Les pages sont construites avec le générateur de site Hugo et le thème Hugo Relearn Theme.
- Récupérez les sources avec Git :
git clone git@forge.inrae.fr:agroclim/agrometinfo/documentation.git
. - Installez une version de Hugo supérieure à 0.95.0.
- Rendez-vous dans le projet
cd documentation/
. - Lancez
hugo
pour la création des pages statiques ouhugo server --navigateToChanged
et naviguez sur http://localhost:1313/.
Modification de pages
Pour modifier ou ajouter une page :
-
Créez une branche depuis GitLab (exemple avec une branche
modification-accueil
) - Récupérez la branche sur votre poste :
git fetch git switch modification-accueil
- Visualisez le site :
- lancez
hugo server --navigateToChanged
, - ouvrez un navigateur sur http://localhost:1313/.
- lancez
- Modifiez le ou les fichiers, le navigateur affichera les pages correspondantes.
- Sous Linux, vérifiez les liens des pages :
bin/check.sh
. - Validez vos changements :
git commit -m "Modification de l'accueil"
. - Envoyez :
git push
. - Vérifiez la bonne exécution de l'intégration sur la page https://forge.inrae.fr/agroclim/agrometinfo/documentation/-/pipelines.
- Faites une demande de fusion en choisissant « Écraser les commits lorsque la demande de fusion est acceptée. ».
- Faites relire.
Pour ajouter une actualité
Chaque actualité est écrite dans un fichier séparé dans le dossier actualites/
.
Pour ajouter une actualité,
-
créer une branche à partir de
main
, - rajouter un fichier dans
actualites/
en reprenant un modèle existant, - fusionner la branche dans
main
.
Voir les détails ci-dessous concernant le déploiement.
Déploiements
Les pages sont publiées après construction et tests des liens grâce à l'intégration et au déploiement continus GitLab-CI.
Un déploiement manuel est possible en utilisant le script bin/deploy.sh
.
Sur la production
Un déploiement depuis la branche main
sur le serveur de production s'exécute lors de l'ajout d'une étiquette.
Suivez le numéro de version de l'application pour nommer l'étiquette.
Si un déploiement intermédiaire doit être effectué, ajouter un numéro de sous version.
Exemple : si la version v2.0.0
est en ligne et qu'une mise à jour de la documentation doit être publiée, nommez l'étiquette v2.0.0.1
. Si une autre doit être publiée : v2.0.0.2
.
Un déploiement manuel est possible en utilisant le script bin/deploy.sh
.
Sur la pré-production
Un déploiement sur le serveur de pré-production s'exécute lors du lancement manuel du pipeline.
Sur GitLab Pages
Un déploiement sur GitLab Pages https://agroclim.pages.mia.inra.fr/agrometinfo/documentation/ s'exécute à chaque validation sur la branche main
.
Détails techniques
L'image Docker spécifique a été préparée pour l'intégration et le déploiement continus.
La configuration des intégration et déploiement continus a été faite dans :
.gitlab-ci.yml
- les variables CI/CD :
- création de clefs privées avec
ssh-keygen -t rsa
etcat ~/.ssh/id_rsa
-
PREPRODUCTION_DESTDIR
,PREPRODUCTION_SERVER
,PREPRODUCTION_USER
etPREPRODUCTION_SSH_PRIVATE_KEY
- création de clefs privées avec
- les serveurs de production et pré-production : création d'un utilisateur, ajout de clef SSH