diff --git a/deploy/open/Dockerfile.build b/deploy/open/Dockerfile.build index 6393d1d..1f9c9d5 100644 --- a/deploy/open/Dockerfile.build +++ b/deploy/open/Dockerfile.build @@ -3,28 +3,28 @@ FROM cirrusci/flutter:3.3.0 as flutter_builder WORKDIR /app # Copy Flutter project files -COPY AINoval/pubspec.yaml AINoval/pubspec.lock ./AINoval/ -RUN cd AINoval && flutter pub get +COPY AINoval/pubspec.yaml AINoval/pubspec.lock ./ +RUN flutter pub get # Copy the rest of the Flutter project source code -COPY AINoval/ ./AINoval/ +COPY AINoval/ ./ # Build the Flutter web application -RUN cd AINoval && flutter build web --release --web-renderer canvaskit +RUN flutter build web --release --web-renderer canvaskit # Stage 2: Build the Java Spring Boot server FROM maven:3.9-eclipse-temurin-21 as java_builder WORKDIR /app # Copy only the pom.xml to leverage Docker cache for dependencies -COPY AINovalServer/pom.xml ./AINovalServer/ -RUN mvn -f AINovalServer/pom.xml dependency:go-offline +COPY AINovalServer/pom.xml ./ +RUN mvn dependency:go-offline # Copy the rest of the server source code -COPY AINovalServer/ ./AINovalServer/ +COPY AINovalServer/ ./ # Build the application, skipping tests to speed up the process -RUN mvn -f AINovalServer/pom.xml clean package -DskipTests +RUN mvn clean package -DskipTests # Stage 3: Create the final runtime image FROM eclipse-temurin:21-jre @@ -42,10 +42,10 @@ ENV JAVA_TOOL_OPTIONS="--add-opens=java.base/java.math=ALL-UNNAMED --add-opens=j WORKDIR /app # Copy the server jar from the java_builder stage and rename it -COPY --from=java_builder /app/AINovalServer/target/ai-novel-server-0.0.1-SNAPSHOT.jar /app/ainoval-server.jar +COPY --from=java_builder /app/target/ai-novel-server-0.0.1-SNAPSHOT.jar /app/ainoval-server.jar # Copy the built web assets from the flutter_builder stage -COPY --from=flutter_builder /app/AINoval/build/web/ /app/web/ +COPY --from=flutter_builder /app/build/web/ /app/web/ EXPOSE 18080