---
# System prepended metadata

title: CI modèle pour composants SpringBoot kubernetes

---

# CI modèle pour composants SpringBoot kubernetes

**La CI la plus à jour est SB-CN23.**
Vous pouvez copier les fichiers:
- `.gitlab-ci.yml`
    - régler `APP_NAME`
    - régler `external-port`
- `dockerfile`
    - régler `SERVICE_DIR`
- `/docker/entrypoint.sh`
    - déjà réglé
- `docker-compose.yml`
    - déjà réglé

### .properties de tests
- nommer le fichier de properties de test `./test/resources/test.properties` pour éviter toute ambiguité avec les properties généralisées
- ne pas inclure de fichier properties par les annotations
- inclure les properties supplémentaires par `<jvm.test.arguments>` dans le fichier `pom.xml` du module de service
- nommer le fichier principal application.properties pour que SpringBoot le charge automatiquement
- De manière générale, le code source **ne doit jamais** mentionner les properties de test
- les properties de tests sont présentes et isolées dans l'image `docker`: `/test/resources/test.properties` afin de permettre les diagnostiques DANS l'image

### Tester localement
- intellij: configuration maven pour palert: `spring-boot:run -D spring-boot.run.jvmArguments=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=58998 -D spring-boot.run.fork=true -f api-palert-service`
- Ligne de commande: `mvn spring-boot:run`
- vscode (tache préconfiguré): `ctrl+shift+b`
- docker:
    - utiliser `set JAVA_ARGS="--configlocation=..."` tel que définit dans le fichier `.gitlab-ci.yml` avant de lancer `docker-compose up --build`
``` powershell
powershell:>
$env:JAVA_ARGS="--spring.config.location=classpath:application.properties,file:/test/resources/test.properties"
docker-compose up --build
        
```