Skip to content
Snippets Groups Projects

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 ou hugo 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 :
  • 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 et cat ~/.ssh/id_rsa
    • PREPRODUCTION_DESTDIR, PREPRODUCTION_SERVER, PREPRODUCTION_USER et PREPRODUCTION_SSH_PRIVATE_KEY
  • les serveurs de production et pré-production : création d'un utilisateur, ajout de clef SSH