1
- FROM golang:1.21 as builderGo
1
+ # backend build
2
+ FROM golang:1.23 as builderGo
2
3
3
4
USER root
4
5
WORKDIR /csgo-2d-demo-player
@@ -14,43 +15,30 @@ RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build \
14
15
-asmflags all=-trimpath=/ \
15
16
main.go
16
17
17
-
18
+ # web build
18
19
FROM node:lts-slim as builderNpm
19
20
20
21
USER root
21
22
22
- # index build
23
- WORKDIR /csgo-2d-demo-player/index
23
+ WORKDIR /csgo-2d-demo-player/web
24
24
25
- COPY web/index/ package.json .
26
- COPY web/index/ package-lock.json .
25
+ COPY web/package.json .
26
+ COPY web/package-lock.json .
27
27
RUN npm install
28
28
29
- COPY web/index/ .env.production .
30
- COPY web/index/ public public
31
- COPY web/index/ src src
29
+ COPY web/.env.production .
30
+ COPY web/public public
31
+ COPY web/src src
32
32
RUN npm run build
33
33
34
- # player build
35
- WORKDIR /csgo-2d-demo-player/player
36
-
37
- COPY web/player/package.json .
38
- COPY web/player/package-lock.json .
39
- RUN npm install
40
-
41
- COPY web/player/public public
42
- COPY web/player/src src
43
- RUN npm run build
44
-
45
-
34
+ # dist
46
35
FROM debian:buster-slim
47
36
48
37
RUN apt-get update && apt-get install -y ca-certificates
49
38
50
39
COPY --from=builderGo /csgo-2d-demo-player/_output/main /csgo-2d-demo-player/
51
40
COPY --from=builderGo /csgo-2d-demo-player/assets/ /csgo-2d-demo-player/assets/
52
- COPY --from=builderNpm /csgo-2d-demo-player/player/build/ /csgo-2d-demo-player/web/player/build/
53
- COPY --from=builderNpm /csgo-2d-demo-player/index/build/ /csgo-2d-demo-player/web/index/build/
41
+ COPY --from=builderNpm /csgo-2d-demo-player/web/dist/ /csgo-2d-demo-player/web/dist/
54
42
55
43
WORKDIR /csgo-2d-demo-player
56
44
0 commit comments