fix(ci): fix docker build issue, fe should be built before be

This commit is contained in:
hexxa 2022-05-14 16:45:37 +08:00 committed by Hexxa
parent 5b63605993
commit e5039cf160
5 changed files with 22 additions and 21 deletions

View file

@ -1,19 +1,18 @@
FROM golang:1.15 as build-be FROM node:lts as build-fe
ADD . /quickshare ADD . /quickshare
WORKDIR /quickshare WORKDIR /quickshare
RUN /quickshare/scripts/build_exec.sh RUN yarn run build:fe
FROM node:lts as build-fe FROM golang:1.17 as build-be
COPY --from=build-be /quickshare /quickshare COPY --from=build-fe /quickshare /quickshare
WORKDIR /quickshare WORKDIR /quickshare
RUN yarn run build:fe \ RUN /quickshare/scripts/build_exec.sh
&& cp -R /quickshare/public /quickshare/dist/quickshare
FROM debian:stable-slim FROM debian:stable-slim
RUN groupadd -g 8686 quickshare RUN groupadd -g 8686 quickshare
RUN useradd quickshare -u 8686 -g 8686 -m -s /bin/bash RUN useradd quickshare -u 8686 -g 8686 -m -s /bin/bash
RUN usermod -a -G quickshare root RUN usermod -a -G quickshare root
COPY --from=build-fe /quickshare/dist/quickshare /quickshare COPY --from=build-be /quickshare/dist/quickshare /quickshare
ADD configs/demo.yml /quickshare ADD configs/demo.yml /quickshare
RUN mkdir -p /quickshare/root RUN mkdir -p /quickshare/root
RUN chgrp -R quickshare /quickshare RUN chgrp -R quickshare /quickshare

View file

@ -1,19 +1,18 @@
FROM golang:1.15 as build-be FROM node:lts as build-fe
ADD . /quickshare ADD . /quickshare
WORKDIR /quickshare WORKDIR /quickshare
RUN /quickshare/scripts/build_exec.sh RUN yarn run build:fe
FROM node:lts as build-fe FROM golang:1.17 as build-be
COPY --from=build-be /quickshare /quickshare COPY --from=build-fe /quickshare /quickshare
WORKDIR /quickshare WORKDIR /quickshare
RUN yarn run build:fe \ RUN /quickshare/scripts/build_exec.sh
&& cp -R /quickshare/public /quickshare/dist/quickshare
FROM debian:stable-slim FROM debian:stable-slim
RUN groupadd -g 8686 quickshare RUN groupadd -g 8686 quickshare
RUN useradd quickshare -u 8686 -g 8686 -m -s /bin/bash RUN useradd quickshare -u 8686 -g 8686 -m -s /bin/bash
RUN usermod -a -G quickshare root RUN usermod -a -G quickshare root
COPY --from=build-fe /quickshare/dist/quickshare /quickshare COPY --from=build-be /quickshare/dist/quickshare /quickshare
ADD configs/docker.yml /quickshare ADD configs/docker.yml /quickshare
RUN mkdir -p /quickshare/root RUN mkdir -p /quickshare/root
RUN chgrp -R quickshare /quickshare RUN chgrp -R quickshare /quickshare

View file

@ -9,7 +9,8 @@
"build:fe:watch": "yarn && bash scripts/copy_js.sh && webpack --config src/client/web/webpack.app.prod.js --watch", "build:fe:watch": "yarn && bash scripts/copy_js.sh && webpack --config src/client/web/webpack.app.prod.js --watch",
"start": "yarn build:fe && go run cmd/start/main.go -c `pwd`/configs/dev.yml", "start": "yarn build:fe && go run cmd/start/main.go -c `pwd`/configs/dev.yml",
"build": "yarn build:fe && bash scripts/build_be.sh", "build": "yarn build:fe && bash scripts/build_be.sh",
"build:docker": "docker build . -t hexxa/quickshare:latest" "build:docker": "docker build . -f Dockerfile_default -t hexxa/quickshare:latest",
"build:docker:heroku": "docker build . -t hexxa/quickshare:latest"
}, },
"dependencies": {} "dependencies": {}
} }

View file

@ -1,7 +1,8 @@
#!/bin/bash #!/bin/bash
set -o nounset errexit set -o nounset errexit
export QSROOT=$(pwd) QSROOT=$(pwd)
export QSROOT
rm -r dist && mkdir dist rm -r dist && mkdir dist
# set this for builders behind GFW... # set this for builders behind GFW...

View file

@ -1,16 +1,17 @@
#!/bin/bash #!/bin/bash
set -o nounset errexit set -o nounset errexit
export QSROOT
QSROOT=$(pwd) QSROOT=$(pwd)
export QSROOT
rm -r dist && mkdir dist rm -r dist && mkdir dist
docker builder prune
# set this for users behind GFW... # set this for builders behind GFW...
go env -w GOPROXY=https://goproxy.cn,direct go env -w GOPROXY=https://goproxy.cn,direct
go get -d -v ./... go install github.com/mitchellh/gox@v1.0.1
go get github.com/mitchellh/gox PATH=$PATH:$HOME/go/bin
cd cmd/start cd cmd/start
gox \ gox \
-osarch="linux/amd64" \ -osarch="linux/amd64" \
-output "$QSROOT/dist/quickshare/start" -output "$QSROOT/dist/quickshare/start"
echo "Done"