From 6114d35d4735e6094ec0bb9c5555c307556f3067 Mon Sep 17 00:00:00 2001 From: mozzie Date: Mon, 20 Mar 2023 10:10:17 +0800 Subject: [PATCH] feat: drone.ci --- .drone.yml | 54 ++++++++++++++++++++++++++++++---------------- Dockerfile | 36 +++++++++++++++++++++++++++++++ docker-compose.yml | 16 ++++++++++++++ 3 files changed, 87 insertions(+), 19 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.drone.yml b/.drone.yml index d4e8280..48b62aa 100644 --- a/.drone.yml +++ b/.drone.yml @@ -64,29 +64,45 @@ steps: target: /www/wwwroot/nginx/html/backset.cn/ source: ./apps/admin/dist/* - # server - - name: build-server - image: appleboy/drone-scp:1.6 - volumes: - - name: node_modules - path: /drone/src/node_modules - commands: - - pwd - - node -v - - npm -v - - npm install -g pnpm - - pnpm i - - pnpm build:server + # # server + # - name: build-server + # image: node:16.19-alpine + # volumes: + # - name: node_modules + # path: /drone/src/node_modules + # commands: + # - pwd + # - node -v + # - npm -v + # - npm install -g pnpm + # - pnpm i + # - pnpm build:server - - name: deploy-server - image: appleboy/drone-scp:1.6 + # - name: deploy-server + # image: appleboy/drone-scp:1.6 + # settings: + # host: + # - backset.cn + # username: root + # password: cr654654. + # port: 22 + # overwrite: true + # command_timeout: 2m + # target: /www/wwwroot/nginx/html/backset.cn/ + # source: ./apps/server/dist/* + + - name: docker build-server + image: appleboy/drone-ssh settings: host: - backset.cn username: root - password: cr654654. + password: + from_secret: cr654654. port: 22 - overwrite: true command_timeout: 2m - target: /www/wwwroot/nginx/html/backset.cn/ - source: ./apps/server/dist/* + script: + - pwd + # - echo "docker compose build backset-server" + # - docker compose build + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9029074 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +# 拉取的原镜像 +FROM node:16.19-alpine AS build + # 创建一个项目文件夹,可自定义 +WORKDIR /app +# 将本地文件复制到项目文件夹下 +COPY ./apps/server . +# 切换到淘宝镜像,安装依赖比较快 +RUN npm set registry https://registry.npm.taobao.org +# 安装依赖 +RUN npm install -g pnpm +RUN pnpm i +# 打包项目 +RUN pnpm build + + # 切换镜像文件, alpine镜像打包后更小 +FROM node:16.19-alpine +# 切换工作目录 +WORKDIR /app +# 将打包后的的文件复制到docker镜像里 +COPY --from=build /app/dist ./dist +COPY --from=build /app/src ./src +COPY --from=build /app/bootstrap.js ./ +COPY --from=build /app/package.json ./ + +# RUN apk add --no-cache tzdata + +ENV TZ="Asia/Shanghai" + +RUN npm set registry https://registry.npm.taobao.org + +# 安装工程依赖 +RUN npm install --production +# 设置暴露端口 +EXPOSE 7001 +# 启动 +CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..488436e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,16 @@ +version: "3" + +networks: + backset.cn-net: + name: backset.cn-net + external: true + +services: + web: + build: . + restart: always + container_name: backset-server # 容器名称 + ports: + - "7001:7001" + networks: + - backset.cn-net