- Merge infrastructure/docker-compose.yml + docker-compose.app.yml into root docker-compose.yml with profiles (infra/app). - Add healthchecks for mysql/redis/rabbitmq/mci-server/channel-service and depends_on conditions. - Rewrite scripts/local-up.sh to use profiles and wait for healthy states. - Add curl to mci-server and channel-service Docker images for healthchecks. - Add npm test script to admin-web (type-check + build smoke test). - Add scripts/test-external-api.sh covering 11 API endpoints. - Verify Java (7/7), Python (6/6), npm build, external API (11/11), and UI flows.
24 lines
626 B
Docker
24 lines
626 B
Docker
FROM maven:3.9-eclipse-temurin-21-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
COPY pom.xml ./pom.xml
|
|
COPY mci-shared ./mci-shared
|
|
COPY mci-channel-common ./mci-channel-common
|
|
COPY mci-server/pom.xml ./mci-server/pom.xml
|
|
COPY mci-server/src ./mci-server/src
|
|
|
|
RUN mvn -N install && \
|
|
mvn -f mci-shared/pom.xml install -DskipTests && \
|
|
mvn -f mci-channel-common/pom.xml install -DskipTests && \
|
|
mvn -f mci-server/pom.xml package -DskipTests
|
|
|
|
FROM eclipse-temurin:21-jre-alpine
|
|
|
|
RUN apk add --no-cache curl
|
|
|
|
WORKDIR /app
|
|
COPY --from=builder /app/mci-server/target/*.jar app.jar
|
|
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|