diff --git a/.dockerignore b/.dockerignore index ddc40edd..2922bcb2 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,3 @@ .dockerignore -dist +#dist node_modules diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 00000000..9e1ba9ba --- /dev/null +++ b/.drone.yml @@ -0,0 +1,59 @@ +--- +kind: pipeline +type: docker +name: default + +steps: +- name: build + image: node:16-alpine + pull: if_not_exists + environment: + NODE_ENV: "" + commands: + #- yarn install --frozen-lockfile + - yarn install + - env ${NODE_ENV} yarn build:prod + +- name: publish + image: docker:dind + pull: if_not_exists + volumes: + - name: dockersock + path: /var/run/docker.sock + - name: dockerconfig + path: /root/.docker + commands: + - docker build -t hub.kszny.picaiba.com/kszny/xcac-ui ./ + - docker push hub.kszny.picaiba.com/kszny/xcac-ui + depends_on: + - build + +- name: deploy + image: appleboy/drone-ssh + pull: if-not-exists + settings: + host: + - 172.24.145.74 + username: root + password: Root@123 + port: 22 + command_timeout: 2m + script: + - docker pull hub.kszny.picaiba.com/kszny/xcac-ui + - docker run --rm -v /data/www/xcac:/tmp hub.kszny.picaiba.com/kszny/xcac-ui sh -c "rm -rf /tmp/* && mv -f /html /tmp" + depends_on: + - publish + +volumes: +- name: dockersock + host: + path: /var/run/docker.sock +- name: dockerconfig + host: + path: /root/.docker + +trigger: + branch: + - projects/mesxc-test + event: + - push diff --git a/Dockerfile b/Dockerfile index 4764e741..0aa70ed0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,3 @@ -FROM node:16-alpine as build-stage - -WORKDIR /admim - -COPY .npmrc package.json yarn.lock ./ -RUN --mount=type=cache,id=yarn-store,target=/root/.yarn-store \ - yarn install --frozen-lockfile - -COPY . . -ARG NODE_ENV="" -RUN env ${NODE_ENV} yarn build:prod - -## -- stage: dist => nginx -- -FROM nginx:alpine - -ENV TZ=Asia/Shanghai - -COPY ./nginx.conf /etc/nginx/conf.d/default.conf -COPY --from=build-stage /admim/dist /usr/share/nginx/html - -EXPOSE 80 +FROM busybox +LABEL maintainer thomas.hairong@gmail.com +COPY dist /html/