Ceci est une ancienne révision du document !
CI-CD
Mise en place
SpringBoot-GitHub
Intégration de Junit Jupiter
Déjà présent dans pom.xml
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit5</artifactId>
<scope>test</scope>
</dependency>
Exécution des tests en local :
mvn -B -U -ntp test
CI GitHub actions
A mettre dans .github/workflows/ci-tests.yml :
Vérifiez :
- La version de java (17 ?)
- Le nom de la branche principale (master/main ?)
name: CI • Tests (Maven)
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
concurrency:
group: ci-tests-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '17' ]
env:
MAVEN_OPTS: -XX:+UseParallelGC -Xmx1g -Djava.awt.headless=true
MAVEN_ARGS: ""
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Temurin JDK
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.java }}
cache: maven
- name: Build & test
run: mvn -B -U -ntp $MAVEN_ARGS verify
- name: Upload test and coverage reports
if: always()
uses: actions/upload-artifact@v4
with:
name: test-reports-java-${{ matrix.java }}
path: |
**/target/surefire-reports/**
**/target/failsafe-reports/**
**/target/site/jacoco/**
retention-days: 7
Le workflow :
- Se déclenche sur push et pull_request vers master.
- Installe JDK 17, restaure le cache Maven, compile et lance les tests (verify).
- Archive les rapports (téléchargeables depuis l’onglet “Actions” de Github).