Spaces:
Build error
Build error
Create Dockerfile
Browse files- Dockerfile +28 -0
Dockerfile
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# ---- builder: build Java -> JavaScript using gradle wrapper (TeaVM) ----
|
2 |
+
FROM openjdk:17-jdk-slim AS builder
|
3 |
+
|
4 |
+
WORKDIR /src
|
5 |
+
|
6 |
+
# 必要ツールを入れる
|
7 |
+
RUN apt-get update && \
|
8 |
+
apt-get install -y --no-install-recommends bash ca-certificates git wget unzip && \
|
9 |
+
rm -rf /var/lib/apt/lists/*
|
10 |
+
|
11 |
+
# ソースをコンテナにコピー
|
12 |
+
COPY . /src
|
13 |
+
|
14 |
+
# gradlew を実行可能にして、JavaScript を生成する gradle タスクを実行
|
15 |
+
# (リポジトリの README にある "CompileJS / generateJavaScript" 相当)
|
16 |
+
RUN chmod +x ./gradlew && \
|
17 |
+
# テストなどはスキップして素早くビルド(必要ならオプションを調整)
|
18 |
+
./gradlew generateJavaScript -x test --no-daemon
|
19 |
+
|
20 |
+
# ---- runtime: nginx serve built javascript ----
|
21 |
+
FROM nginx:stable-alpine AS runtime
|
22 |
+
|
23 |
+
# ビルド成果物(javascriptフォルダ)を nginx のドキュメントルートへコピー
|
24 |
+
COPY --from=builder /src/javascript /usr/share/nginx/html
|
25 |
+
|
26 |
+
# 必要ならカスタム nginx.conf を追加する(省略可)
|
27 |
+
EXPOSE 80
|
28 |
+
CMD ["nginx", "-g", "daemon off;"]
|