--- kind: pipeline type: docker name: development # 常量值 constants: - &DEVELOPMENT_HOST test.tall.wiki - &DEVELOPMENT_PORT 22 - &DEVELOPMENT_CMD - npm config set registry http://registry.npm.taobao.org - npm i - npm run build:test - &DEVELOPMENT_SCP_TARGET /home/checkwork - &DEVELOPMENT_SCP_SOURCE dist/* - &SCP_STRIP_DIR_LEVEL 1 - &NOTIFY_WECHATROBOT_WEBHOOK https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=428e5c5d-f992-4349-939d-9c99556e50b8 # 挂载的主机卷,可以映射到docker容器中 volumes: # maven构建缓存(宿主机目录) - name: ssh_key host: path: /root/.ssh/ - name: cache host: path: /var/lib/cache - name: data host: path: /var/lib/data steps: - name: restore-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: restore: true mount: - ./node_modules - name: build image: node:16 pull: if-not-exists # default always # volumes: # - name: cache # path: /root/.m2 commands: - npm config set registry http://registry.npm.taobao.org - npm i - npm run build:test - name: rebuild-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: rebuild: true mount: - ./node_modules - name: deploy-scp image: appleboy/drone-scp pull: if-not-exists volumes: - name: ssh_key path: /root/.ssh/ settings: host: *DEVELOPMENT_HOST port: 22 username: root key_path: /root/.ssh/id_rsa rm: true # true则会删除目标目录重建 target: /home/checkwork source: dist/* strip_components: 1 # 去除的目录层数,如果没有该选项,则拷贝过去是 target/xxx.jar,1代表去除target - name: notify-wechatwork image: fifsky/drone-wechat-work pull: if-not-exists settings: url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=428e5c5d-f992-4349-939d-9c99556e50b8 msgtype: markdown content: | {{if eq .Status "success" }} #### 🎉 ${DRONE_REPO} 构建成功 > Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK}) > Author: ${DRONE_COMMIT_AUTHOR} > [点击查看](${DRONE_BUILD_LINK}) {{else}} #### ❌ ${DRONE_REPO} 构建失败 > Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK}) > Author: ${DRONE_COMMIT_AUTHOR} > 请立即修复!!! > [点击查看](${DRONE_BUILD_LINK}) {{end}} when: status: - failure - success trigger: branch: - develop --- kind: pipeline type: docker name: production # 挂载的主机卷,可以映射到docker容器中 volumes: # maven构建缓存(宿主机目录) - name: ssh_key host: path: /root/.ssh/ - name: cache host: path: /var/lib/cache - name: data host: path: /var/lib/data steps: - name: restore-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: restore: true mount: - ./node_modules - name: build image: node:16 pull: if-not-exists # default always # volumes: # - name: cache # path: /root/.m2 commands: - npm config set registry http://registry.npm.taobao.org - npm i - npm run build - name: rebuild-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: rebuild: true mount: - ./node_modules - name: deploy-scp image: appleboy/drone-scp pull: if-not-exists volumes: - name: ssh_key path: /root/.ssh/ settings: host: www.tall.wiki port: 22 username: root key_path: /root/.ssh/id_rsa rm: true # true则会删除目标目录重建 target: /home/checkwork source: dist/* strip_components: 1 # 去除的目录层数,如果没有该选项,则拷贝过去是 target/xxx.jar,1代表去除target - name: notify-wechatwork image: fifsky/drone-wechat-work pull: if-not-exists settings: url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=428e5c5d-f992-4349-939d-9c99556e50b8 msgtype: markdown content: | {{if eq .Status "success" }} #### 🎉 ${DRONE_REPO} 构建成功 > Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK}) > Author: ${DRONE_COMMIT_AUTHOR} > [点击查看](${DRONE_BUILD_LINK}) {{else}} #### ❌ ${DRONE_REPO} 构建失败 > Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK}) > Author: ${DRONE_COMMIT_AUTHOR} > 请立即修复!!! > [点击查看](${DRONE_BUILD_LINK}) {{end}} when: status: - failure - success trigger: branch: - master