diff --git a/Dockerfile b/Dockerfile index e8ec915ec..b54bf8999 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,23 @@ -FROM node:10 as stage-build +FROM node:14.16 as stage-build +ARG TARGETARCH +ARG VERSION +ENV VERSION=$VERSION ARG NPM_REGISTRY="https://registry.npmmirror.com" ENV NPM_REGISTY=$NPM_REGISTRY -ARG SASS_BINARY_SITE="https://npmmirror.com/mirrors/node-sass" -ENV SASS_BINARY_SITE=$SASS_BINARY_SITE WORKDIR /data -RUN npm config set sass_binary_site=${SASS_BINARY_SITE} -RUN npm config set registry ${NPM_REGISTRY} -RUN yarn config set registry ${NPM_REGISTRY} -COPY package.json yarn.lock /data/ -RUN yarn install -RUN npm rebuild node-sass +RUN set -ex \ + && npm config set registry ${NPM_REGISTRY} \ + && yarn config set registry ${NPM_REGISTRY} \ + && yarn config set cache-folder /root/.cache/yarn/lina -ARG VERSION -ENV VERSION=$VERSION ADD . /data -RUN cd utils && bash -xieu build.sh build +RUN --mount=type=cache,target=/root/.cache/yarn \ + sed -i "s@Version .*@Version ${VERSION}@g" src/layout/components/Footer/index.vue \ + && yarn install \ + && yarn build FROM nginx:alpine -COPY --from=stage-build /data/release/lina /opt/lina +COPY --from=stage-build /data/lina /opt/lina COPY nginx.conf /etc/nginx/conf.d/default.conf diff --git a/package.json b/package.json index 755fe769a..015471211 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "scripts": { "dev": "vue-cli-service serve", "serve": "vue-cli-service serve", + "build": "vue-cli-service build --mode staging", "build:prod": "vue-cli-service build", "build:stage": "vue-cli-service build --mode staging", "preview": "node build/index.js --preview",