-
Notifications
You must be signed in to change notification settings - Fork 1
49 lines (39 loc) · 2.04 KB
/
maven.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Définition du nom du workflow, qui sera affiché sur GitHub
name: Java CI/CD with Maven
# Définition des événements qui déclencheront l'exécution du workflow
on:
push: # Lors d'un push
branches: [ "main" ] # Sur la branche main
pull_request: # Lors d'une pull request
branches: [ "main" ] # Ciblant la branche main
# Définition des jobs à exécuter
jobs:
build-and-test: # Nom du job
runs-on: ubuntu-latest # Exécute le job sur la dernière version d'Ubuntu disponible
steps: # Étapes du job
- uses: actions/[email protected] # Étape pour cloner le code source du dépôt
- name: Set up JDK 21 # Étape pour configurer JDK 21
uses: actions/[email protected] # Utilise l'action setup-java pour configurer Java
with: # Options pour l'action setup-java
java-version: '21' # Spécifie la version de Java à utiliser
distribution: 'temurin' # Spécifie la distribution de Java à utiliser
cache: maven # Active le cache pour Maven
- name: Build with Maven # Étape pour construire le projet avec Maven
run: mvn -B package --file pom.xml # Exécute Maven pour compiler le projet et empaqueter
- name: Run Checkstyle # Étape pour exécuter Checkstyle
run: mvn checkstyle:checkstyle # Exécute Checkstyle pour vérifier la conformité du style de code
- name: Run Tests # Étape pour exécuter les tests
run: mvn test # Exécute les tests unitaires
- name: Build Docker Image # Étape pour construire l'image Docker
run: docker build -t spring-boot-student-management . # Construit l'image Docker à partir du Dockerfile
# - name: Log in to Azure
# uses: azure/login@v1
# with:
# creds: \${{ secrets.AZURE_CREDENTIALS }}
# - name: Deploy to Azure Web App
# uses: azure/webapps-deploy@v2
# with:
# app-name: nassim
# # slot-name: <Nom-Slot> # Optionnel, si vous utilisez des slots
# publish-profile: \${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
# package: \${{ github.workspace }}/target/*.jar