diff --git a/source/git/advanced.md b/source/git/advanced.md index ffaa3c6eadeb281046b05dc7837492ef7fe91e0f..56094f7679c3845cecfb672be9164fa02b5989eb 100644 --- a/source/git/advanced.md +++ b/source/git/advanced.md @@ -1,4 +1,4 @@ -# Notions avancées +# Usages avancés Cette partie de la documentation s'adresse principalement aux maintainers et responsables technique. @@ -155,3 +155,41 @@ Pour windows, Git Bash le fera de lui même, mais si besoin il est possible de c ## CI/CD +Gitlab permet de déclencher des scripts suite à des push, c'est trés interressant dans le cadre de développement en mode DevOps. On parle d'intégration continue (CI) et de déploiement continu (CD). + +La documentation spécifique à Gitlab sur la conception de pipeline CI/CD est disponible via [ce lien](https://docs.gitlab.com/ee/ci/). +Pour la documentation, attention toutes les fonctionnalités ne sont pas compatibles avec notre version et notre édition de Gitlab. + +Nous nous en servons, majoritairement pour vérifier qu'un certain niveau de qualité/propreté du code est maintenu en continu sur les dépots, ou pour publier la documentation automatiquement. + +La fonctionnalité doit être activée sur le dépots via la configuration du projet sur Gitlab. + +Une fois la fonctionnalité active, il faut ajouter un fichier `.gitlab-ci.yml` à la racine du dépot. + +```{Tip} + Pour créer un CI/CD petit conseil, partez d'une branche master ou proche de master, puis une fois terminer mergez cette branche dans master et master dans les branches type next_version rapidement de façon à propager le CI/CD rapidement et s'éviter des conflit ou des comportement étrange du CI/CD sur GitLab. +``` + +exemple de CI/CD pour le fichier yml : Génération de la documentation de développement (uniquement si modifié sur next_version) +```yaml +# Image docket à utiliser pour lancer el CI/CD +image: veremes/sphinx-doc:latest + +# Variable utilisable dans le script +variables: + S3_BUCKET_NAME_DEV_fr: "documentation-dev.veremes.net/dev/fr" + +# Deploiement documentation francaise +deploy-gtf-fr-documentation-dev : + stage: deploy + script: + - sphinx-build -b html source build + - aws s3 cp build/ s3://$S3_BUCKET_NAME_DEV_fr/ --recursive + tags: + - deployment + only: + refs: + - next_version + changes: + - source/**/* +``` \ No newline at end of file