Skip to content

Commit 1d9df9f

Browse files
authored
Merge pull request #35 from mtlynch/shared-build-script-1
Use scripts.sh to build within Docker
2 parents d1b41a6 + 4ba8ee0 commit 1d9df9f

File tree

2 files changed

+26
-13
lines changed

2 files changed

+26
-13
lines changed

Dockerfile

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
# build frontend
22
FROM node:22 as fe
33
WORKDIR /src
4-
COPY .git frontend ./
5-
RUN npm i && npm run build
4+
COPY .git .git/
5+
COPY frontend ./frontend
6+
COPY scripts.sh .
7+
RUN ./scripts.sh build-frontend
68

79
# build backend
810
FROM golang:1.23 as be
911
WORKDIR /src
1012
COPY . ./
11-
COPY --from=fe /src/build ./frontend/build/
12-
RUN go build -o fusion ./cmd/server/*
13+
COPY --from=fe /src/frontend/build ./frontend/build/
14+
RUN ./scripts.sh build-backend
1315

1416
# deploy
1517
FROM debian:12
1618
LABEL org.opencontainers.image.source="https://github.com/0x2E/fusion"
1719
RUN apt-get update && apt-get install -y sqlite3 ca-certificates
1820
WORKDIR /fusion
19-
COPY --from=be /src/fusion ./
21+
COPY --from=be /src/build/fusion ./
2022
EXPOSE 8080
2123
RUN mkdir /data
2224
ENV DB="/data/fusion.db"
2325
CMD [ "./fusion" ]
24-

scripts.sh

+19-7
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,35 @@ gen() {
88
}
99

1010
test_go() {
11+
echo "testing"
1112
gen
1213
# make some files for embed
1314
mkdir -p ./frontend/build
1415
touch ./frontend/build/index.html
1516
go test ./...
1617
}
1718

18-
build() {
19-
echo "testing"
20-
gen
21-
test_go
22-
23-
root=$(pwd)
24-
mkdir -p ./build
19+
build_frontend() {
2520
echo "building frontend"
21+
mkdir -p ./build
22+
root=$(pwd)
2623
cd ./frontend
2724
npm i
2825
npm run build
2926
cd $root
27+
}
28+
29+
build_backend() {
3030
echo "building backend"
3131
go build -o ./build/fusion ./cmd/server/*
3232
}
3333

34+
build() {
35+
test_go
36+
build_frontend
37+
build_backend
38+
}
39+
3440
dev() {
3541
gen
3642
go run ./cmd/server
@@ -46,6 +52,12 @@ case $1 in
4652
"dev")
4753
dev
4854
;;
55+
"build-frontend")
56+
build_frontend
57+
;;
58+
"build-backend")
59+
build_backend
60+
;;
4961
"build")
5062
build
5163
;;

0 commit comments

Comments
 (0)