En cas de fork (et seulement en cas de fork), pour que la CI fonctionne correctement vous devez désactiver l'analyse automatique. Pour cela rendez vous sur la page sonarcloud de votre projet > Administration > Analysis Method > |
- pour lancer les conteneurs (bdd, adminer, aws)
docker-compose up
- Pour lancer le back
mvn spring-boot:run -Dspring-boot.run.profiles=local
- pour avoir accès aux commandes
ng
npm install -g @angular/cli
- pour lancer le front
ng serve
- BD : mysql://root:password@localhost:3306/implicaction
- Adminer : http://localhost:9030
- Backend : http://localhost:8080
- Frontend : http://localhost:4200
- swagger : http://localhost:8080/swagger-ui.html
-
dezipper et installer le fichier implicaction-cs.xml.zip comme suit :
-
installer le plugin Save Actions et le configurer comme illustré :
- mise à jour de son dépôt local :
git fetch origin
- création de la branche de développement :
git checkout -b features/RI-XXXX origin/develop
(où RI-XXX est la référence à la JIRA associée)
Il est important de créer des commits avec le moins de changements possible afin de faciliter la compréhension pour le reviewer
- sélection des changements à commit
- écriture du message de commit :
RI-XXX : titre du commit explicite
* liste de détails éventuels
Il est important d'envoyer ses commits sur le dépôt régulièrement
git push origin features/RI-XXX
- si on a modifié un commit précédemment envoyé, il faut forcer le push :
git push -f origin features/RI-XXXX
- si on a modifié un commit précédemment envoyé, il faut forcer le push :
Une fois que le branche est prête à être revue on créée la PR sur github.
- envoyer les commits sur le distant :
git push origin features/RI-XXX
- choisir develop comme base
- choisir features/RI-XXX comme compare
- cliquer sur le bouton create pull request
see also : documentation GitHub
Il est important de squash les différents commits de la branche afin de conserver un historique git cohérent et intelligible. Veillez à sélectionner l'option Squash and merge avan de merger votre branche.
Refonte-Implicaction est un projet qui s'appuie sur les technologies spring et angular. Tout son processus de build est géré par maven.
Il se découpe en 3 projets maven :
+-- refonte-implicaction/
+-- backend-implicaction/
| +-- src/main/resources
| | +-- application.yml
| | +-- application-local.yml
| | ...
| +-- src/test/resources
| | +-- application-test.properties
| | •••
| +-- pom.xml (backend)
+-- frontend-implicaction/
| +-- pom.xml (frontend)
| •••
+-- pom.xml (root)
- le projet backend-implicaction
- le projet frontend-implicaction
- le projet root, qui pilote le build des 2 projets
3 profils ont été configurés
- le profil par défaut à utiliser pour la version de production (
cf
backend-implicaction/src/main/resources/application.yml
etapplication.properties
) - le profil 'local' pour lancer le projet en local (cf
backend-implicaction/src/main/resources/applicaction-local.yml
) - le profil 'test' à utiliser pour lancer les tests (
cf
backend-implicaction/src/test/resources/applicaction-test.properties
)
- PORT : port du serveur
- DB_URI : adresse de la base de données (ex: mysql://domain:port/db_name)
- DB_USER : nom d'utilisateur de la base de données
- DB_PASS : mot de passe de la base de données
- SMTP_HOST : adresse du serveur smtp
- SMTP_PORT : port du serveur smtp
- SMTP_USER : nom d'utilisateur du serveur smtp
- SMTP_PASS : mot de passe du serveur smtp
- KS_PATH : chemin du fichier KeyStore
- KS_NAME : nom du certificat de sécurité (par défaut mettre implicaction)
- KS_PASSWORD : mot de passe du certificat
- APP_URL : url de l'application
- CONTACT_EMAIL : adresse mail du contact
- AWS_ACCESS_KEY(*): access key du compte aws
- AWS_SECRET_KEY(*): client secret du compte aws
- AWS_REGION(*): region du compte aws
(*) mandatory
A l'heure actuelle, seuls les tests du projet back ont été définis. Pour les lancer il suffit d'utiliser la commande
suivante :
mvn test -Dspring.profiles.active=test
depuis le répertoire racine.