From e5039cf160a51637f219c8e81d25de6fc020f89e Mon Sep 17 00:00:00 2001 From: hexxa Date: Sat, 14 May 2022 16:45:37 +0800 Subject: [PATCH] fix(ci): fix docker build issue, fe should be built before be --- Dockerfile | 13 ++++++------- Dockerfile_default | 13 ++++++------- package.json | 3 ++- scripts/build_be.sh | 3 ++- scripts/build_exec.sh | 11 ++++++----- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8d22c9d..2aadf70 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,18 @@ -FROM golang:1.15 as build-be +FROM node:lts as build-fe ADD . /quickshare WORKDIR /quickshare -RUN /quickshare/scripts/build_exec.sh +RUN yarn run build:fe -FROM node:lts as build-fe -COPY --from=build-be /quickshare /quickshare +FROM golang:1.17 as build-be +COPY --from=build-fe /quickshare /quickshare WORKDIR /quickshare -RUN yarn run build:fe \ - && cp -R /quickshare/public /quickshare/dist/quickshare +RUN /quickshare/scripts/build_exec.sh FROM debian:stable-slim RUN groupadd -g 8686 quickshare RUN useradd quickshare -u 8686 -g 8686 -m -s /bin/bash 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 RUN mkdir -p /quickshare/root RUN chgrp -R quickshare /quickshare diff --git a/Dockerfile_default b/Dockerfile_default index cd974ff..60c9320 100644 --- a/Dockerfile_default +++ b/Dockerfile_default @@ -1,19 +1,18 @@ -FROM golang:1.15 as build-be +FROM node:lts as build-fe ADD . /quickshare WORKDIR /quickshare -RUN /quickshare/scripts/build_exec.sh +RUN yarn run build:fe -FROM node:lts as build-fe -COPY --from=build-be /quickshare /quickshare +FROM golang:1.17 as build-be +COPY --from=build-fe /quickshare /quickshare WORKDIR /quickshare -RUN yarn run build:fe \ - && cp -R /quickshare/public /quickshare/dist/quickshare +RUN /quickshare/scripts/build_exec.sh FROM debian:stable-slim RUN groupadd -g 8686 quickshare RUN useradd quickshare -u 8686 -g 8686 -m -s /bin/bash 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 RUN mkdir -p /quickshare/root RUN chgrp -R quickshare /quickshare diff --git a/package.json b/package.json index 4d63a2b..6faf6c5 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "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", "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": {} } diff --git a/scripts/build_be.sh b/scripts/build_be.sh index d794807..96b657f 100755 --- a/scripts/build_be.sh +++ b/scripts/build_be.sh @@ -1,7 +1,8 @@ #!/bin/bash set -o nounset errexit -export QSROOT=$(pwd) +QSROOT=$(pwd) +export QSROOT rm -r dist && mkdir dist # set this for builders behind GFW... diff --git a/scripts/build_exec.sh b/scripts/build_exec.sh index 3c079d0..615f26c 100755 --- a/scripts/build_exec.sh +++ b/scripts/build_exec.sh @@ -1,16 +1,17 @@ #!/bin/bash set -o nounset errexit -export QSROOT QSROOT=$(pwd) +export QSROOT 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 get -d -v ./... -go get github.com/mitchellh/gox +go install github.com/mitchellh/gox@v1.0.1 +PATH=$PATH:$HOME/go/bin cd cmd/start gox \ -osarch="linux/amd64" \ -output "$QSROOT/dist/quickshare/start" + +echo "Done"