Some checks failed
Tests unitaires / Brain (Python · pytest + couverture) (push) Successful in 24s
Tests unitaires / Web (Angular · vitest + couverture) (push) Successful in 29s
Tests unitaires / Core (Java · mvn test + JaCoCo) (push) Successful in 3m14s
Qualité & Sécurité / MegaLinter (PMD · Ruff · Bandit · gitleaks · hadolint) (push) Failing after 1m1s
Qualité & Sécurité / Web (ESLint · angular-eslint + sonarjs) (push) Successful in 45s
E2E Tests / e2e (push) Failing after 4m6s
Qualité & Sécurité / Trivy (CVE dépendances Maven / pip / npm) (push) Successful in 1m12s
Build & Push Images / build (brain) (push) Successful in 2m14s
Build & Push Images / build (web) (push) Successful in 1m54s
Build & Push Images / build (core) (push) Successful in 3m41s
Build & Push Images / build-switcher (push) Successful in 48s
Suppression du « npm install -g npm@latest » du Dockerfile web : cible mouvante inutile — le npm embarqué dans node:20 suffit pour npm ci (lockfileVersion 3) et le build Angular.
16 lines
586 B
Docker
16 lines
586 B
Docker
FROM node:20-bookworm-slim AS build
|
|
WORKDIR /build
|
|
# PAS de mise à jour de npm ici : « npm@latest » est une cible mouvante qui finit
|
|
# par exiger un Node plus récent que l'image (npm 12 -> Node >= 22) et casse le
|
|
# build. Le npm livré avec l'image suffit (npm ci supporte lockfileVersion 3).
|
|
COPY package*.json ./
|
|
RUN npm ci --include=dev --ignore-scripts --no-audit --no-fund --no-progress
|
|
COPY . .
|
|
|
|
RUN npm run build -- --configuration production
|
|
|
|
FROM nginx:alpine
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY --from=build /build/dist/web /usr/share/nginx/html
|
|
EXPOSE 80
|