Spaces:
Build error
Build error
# ---- builder: build Java -> JavaScript using gradle wrapper (TeaVM) ---- | |
FROM openjdk:17-jdk-slim AS builder | |
WORKDIR /src | |
# 必要ツールを入れる | |
RUN apt-get update && \ | |
apt-get install -y --no-install-recommends bash ca-certificates git wget unzip && \ | |
rm -rf /var/lib/apt/lists/* | |
ENV JAVA_TOOL_OPTIONS="--enable-preview" | |
# ソースをコンテナにコピー | |
COPY . /src | |
# gradlew を実行可能にして、JavaScript を生成する gradle タスクを実行 | |
# (リポジトリの README にある "CompileJS / generateJavaScript" 相当) | |
RUN chmod +x ./gradlew && \ | |
# テストなどはスキップして素早くビルド(必要ならオプションを調整) | |
./gradlew generateJavaScript -x test --no-daemon | |
# ---- runtime: nginx serve built javascript ---- | |
FROM nginx:stable-alpine AS runtime | |
# ビルド成果物(javascriptフォルダ)を nginx のドキュメントルートへコピー | |
COPY --from=builder /src/javascript /usr/share/nginx/html | |
# 必要ならカスタム nginx.conf を追加する(省略可) | |
EXPOSE 80 | |
CMD ["nginx", "-g", "daemon off;"] | |