kind: pipeline type: docker name: default steps: - name: 测试服-依赖安装&&编译打包 pull: if-not-exists image: node:20 when: branch: - test commands: - npm config set registry https://registry.npmmirror.com/ - npm install -g pnpm - pnpm install - pnpm build:h5:test - rm -rf dist.tar - rm -rf node_modules - tar -zcvf dist.tar ./dist ./default.conf ./Dockerfile - name: 正式服-依赖安装&&编译打包 pull: if-not-exists image: node:20 when: branch: - master commands: - npm config set registry https://registry.npmmirror.com/ - npm install -g pnpm - pnpm install - pnpm build:h5 - rm -rf dist.tar - rm -rf node_modules - tar -zcvf dist.tar ./dist ./default.conf ./Dockerfile - name: 测试服-产物上传 pull: if-not-exists image: appleboy/drone-scp when: branch: - test settings: host: from_secret: HOST_DEV username: from_secret: USER_DEV password: from_secret: PWD_DEV port: 22 strip_components: 1 target: /www/builder source: - ./dist.tar - name: 测试服-部署 pull: if-not-exists image: appleboy/drone-ssh when: branch: - test settings: host: from_secret: HOST_DEV username: from_secret: USER_DEV password: from_secret: PWD_DEV port: 22 script: - cd /www/builder - mkdir jdt-turntable-dev - tar -xzvf dist.tar -C /www/builder/jdt-turntable-dev - rm -rf dist.tar - cd jdt-turntable-dev - docker build -t jdt-turntable-dev . - docker stop jdt-turntable-dev - docker rm jdt-turntable-dev - docker run -d -p 5001:80 --restart=always --name jdt-turntable-dev jdt-turntable-dev - cd .. - rm -rf jdt-turntable-dev - name: 正式服-产物上传 pull: if-not-exists image: appleboy/drone-scp when: branch: - master settings: host: from_secret: HOST_PROD username: from_secret: USER_PROD password: from_secret: PWD_PROD port: 22 strip_components: 1 target: /www/builder source: - ./dist.tar - name: 正式服-部署 pull: if-not-exists image: appleboy/drone-ssh when: branch: - master settings: host: from_secret: HOST_PROD username: from_secret: USER_PROD password: from_secret: PWD_PROD port: 22 script: - cd /www/builder - mkdir jdt-turntable-prod - tar -xzvf dist.tar -C /www/builder/jdt-turntable-prod - rm -rf dist.tar - cd jdt-turntable-prod - docker build -t jdt-turntable-prod . - docker stop jdt-turntable-prod - docker rm jdt-turntable-prod - docker run -d -p 5001:80 --restart=always --name jdt-turntable-prod jdt-turntable-prod - cd .. - rm -rf jdt-turntable-prod - name: 企业微信通知 pull: if-not-exists image: plugins/webhook when: branch: - test - master status: - success - failure settings: urls: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a2065e21-4f92-4f5b-a432-2c0cd1d965b5 content_type: application/json template: | { "msgtype": "markdown", "markdown": { "content": "{{#success build.status}}✅{{else}}❌{{/success}}**{{ repo.owner }}/{{ repo.name }}** (Build #{{build.number}})\n >**构建结果**: {{ build.status }} >**构建详情**: [点击查看]({{ build.link }}) >**代码分支**: {{ build.branch }} >**提交标识**: {{ build.commit }} >**提交发起**: {{ build.author }} >**提交信息**: {{ build.message }} " } }