Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Tous les projets Fudaa ont été migrés sur GitLab: https://gitlab.com/fudaa et les livrables sont publiés sur le repository central Maven: https://central.sonatype.org/pages/ossrh-guide.html.

Accès développeur

Pour participer au projet, les développeurs devront avoir un compte sur GitLab: https://gitlab.com/ et:

Gestion des tickets et de la documentation

La documentation (

...

developpeur +

...

utilisateur)

...

La documents et la gestion des et les tickets sont toujours gérés sont gérées sur l’instance attlassianAtlassian:

Gestion des sources

GIT est utilisé pour la gestion des sources.

Note

Par rapport à Subversion, un action de Commit (git commit) ne va pousser les modifications sur le dépot distant mais simplement sur le dépot local. Il faudra faire un “push”

Voir:

Workflow de gestion des versions

Plusieurs solutions existent pour gérer les versions de très simples à très compliquées:

...

Dans l’idéal chaque nouveau développement devrait se faire dans une branche ayant une durée de vie courte ( 4 jours maxi)

Intégration continue CI/CD

Un projet simple a été construit pour illustrer l’intégration continue:

...

Définit la configuration du repository et active le projet GPG permettant de signer les livrables ( indispensables pour déployer sur le repo repository Maven Central).

Le fichier est assez simple et toutes les valeurs sont issues des variables du groupe fudaa de GitLab.

https://gitlab.com/fudaa/fudaa-test-gitlab/blob/master/.gitlab-ci.yml

Ce fichier définit les différentes étapes de l’intégration continue:

  1. build: compilation du projet

  2. test: lancement les tests

  3. deploy: déploiement soit upload des jar dans le repository

  4. release: cette étape est en général lancée manuellement: elle permet de générer les livrables en version “release” (sans -SNAPHSOT) et de taguer les sources

L'étape n+1 est lancé si l'étape n est en succès.

Chaque projet Fudaa peut re-définir ces étapes pour notamment activer les profiles Maven adéquat et générer les installeurs.

Sécurité

Bien entendu, aucun mot de passe ne doit être laissé en clair dans les sources. GitLab fournit un système de variables permettant de définir ces mot de passe pour le group fudaa.

Note

Les scripts d’intégration continue ne doivent pas écrire les valeurs de ces variables ( mot de passe) qui seront alors accessibles par tous. Une possibilité serait de rendre “private” les jobs afin de cacher ces logs.

Repository

Tout est configuré dans le pom parent des projets fudaa: https://gitlab.com/fudaa/fudaa-pom (https://gitlab.com/fudaa/fudaa-pom/blob/master/pom.xml)

...