Compare commits

..

3 Commits

Author SHA1 Message Date
79bd33fe41 Merge pull request 'merge from dev' (#1) from dev into main
Reviewed-on: #1
2025-12-05 13:43:04 +00:00
696e0ac817 Update jenkinsfile 2025-12-05 13:26:43 +00:00
888ddc1362 Update jenkinsfile 2025-12-05 13:24:13 +00:00
3 changed files with 27 additions and 35 deletions

View File

@@ -61,25 +61,16 @@ public class SecurityConfig {
@Bean @Bean
public CorsConfigurationSource corsConfigurationSource() { public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration config = new CorsConfiguration(); CorsConfiguration config = new CorsConfiguration();
config.setAllowedOriginPatterns(Arrays.asList(
// IMPORTANT : origins explicites, sans path
config.setAllowedOrigins(Arrays.asList(
"http://localhost:4200", "http://localhost:4200",
"http://127.0.0.1:4200", "http://127.0.0.1:4200",
"https://dev.vincent-guillet.fr", "https://dev.vincent-guillet.fr",
"https://projets.vincent-guillet.fr" "https://projets.vincent-guillet.fr"
)); ));
config.setAllowCredentials(true);
// Autoriser tous les headers côté requête (plus robuste)
config.setAllowedHeaders(Arrays.asList("*"));
// Autoriser les méthodes classiques
config.setAllowedMethods(Arrays.asList("GET","POST","PUT","DELETE","OPTIONS")); config.setAllowedMethods(Arrays.asList("GET","POST","PUT","DELETE","OPTIONS"));
config.setAllowedHeaders(Arrays.asList("Authorization","Content-Type","Accept"));
// Headers que le client *voit* dans la réponse config.setExposedHeaders(Arrays.asList("Authorization"));
config.setExposedHeaders(Arrays.asList("Authorization", "Content-Type")); config.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config); source.registerCorsConfiguration("/**", config);

View File

@@ -17,6 +17,12 @@ import java.util.Arrays;
@RestController @RestController
@RequestMapping("/api/auth") @RequestMapping("/api/auth")
@CrossOrigin(
origins = "https://dev.vincent-guillet.fr",
allowCredentials = "true",
allowedHeaders = "*",
methods = {RequestMethod.GET, RequestMethod.POST, RequestMethod.OPTIONS}
)
public class AuthController { public class AuthController {
private final AuthService authService; private final AuthService authService;

View File

@@ -48,6 +48,7 @@ pipeline {
} }
// ----- Push vers registry ----- // ----- Push vers registry -----
// Si tu as des credentials, tu peux les utiliser ici via withCredentials
sh """ sh """
echo "=== Push images vers ${REGISTRY} ===" echo "=== Push images vers ${REGISTRY} ==="
docker push ${API_IMAGE} docker push ${API_IMAGE}
@@ -77,11 +78,8 @@ pipeline {
echo "=== [DEV] docker compose down ===" echo "=== [DEV] docker compose down ==="
docker compose -f docker-compose.dev.yml down -v || true docker compose -f docker-compose.dev.yml down -v || true
echo "=== [DEV] docker compose pull ===" echo "=== [DEV] docker compose up ==="
docker compose -f docker-compose.dev.yml pull docker compose -f docker-compose.dev.yml up -d mysql spring angular
echo "=== [DEV] docker compose up (force recreate) ==="
docker compose -f docker-compose.dev.yml up -d --force-recreate mysql spring angular
""" """
} }
} }
@@ -106,13 +104,10 @@ pipeline {
docker rm -f gameovergne-api-prod gameovergne-client-prod 2>/dev/null || true docker rm -f gameovergne-api-prod gameovergne-client-prod 2>/dev/null || true
echo "=== [PROD] docker compose down ===" echo "=== [PROD] docker compose down ==="
docker compose -f docker-compose.prod.yml down || true docker compose -f docker-compose.prod.yml down -v || true
echo "=== [PROD] docker compose pull ===" echo "=== [PROD] docker compose up ==="
docker compose -f docker-compose.prod.yml pull docker compose -f docker-compose.prod.yml up -d mysql spring angular
echo "=== [PROD] docker compose up (force recreate) ==="
docker compose -f docker-compose.prod.yml up -d --force-recreate mysql spring angular
""" """
} }
} }