kind: pipeline # 定义一个管道 type: docker # 当前管道的类型 name: test # 当前管道的名称 steps: # 第一步:构建项目 - name: 构建项目 image: node:18-alpine commands: - npm install - npm run build volumes: - name: node_modules_cache path: /drone/src/node_modules # 第二步:上传静态资源到腾讯云COS (使用另一个插件) - name: 静态资源上传到cos image: ccr.ccs.tencentyun.com/xiaoqidun/gocos settings: secret_id: from_secret: cos_secret_id secret_key: from_secret: cos_secret_key bucket_url: https://files-1302416092.cos.ap-shanghai.myqcloud.com source: dist target: /utils strip_prefix: dist # 第三步:部署到服务器 - name: 清除服务器缓存 image: appleboy/drone-ssh settings: host: from_secret: server_host username: from_secret: server_username password: from_secret: server_password # 或者使用SSH密钥 # key: # from_secret: server_ssh_key port: 22 script: - rm -rf /www/wwwroot/utils.zguiy.com/* - mkdir -p /www/wwwroot/utils.zguiy.com/ - chmod 755 /www/wwwroot/utils.zguiy.com/ when: branch: - main - master - dev # 第四步:上传构建文件 - name: 上传构建文件 image: appleboy/drone-scp settings: host: from_secret: server_host username: from_secret: server_username password: from_secret: server_password # 或者使用SSH密钥 # key: # from_secret: server_ssh_key port: 22 source: dist/* target: /www/wwwroot/show.zguiy.com/ strip_components: 1 when: branch: - main - master - dev # 定义数据卷用于缓存node_modules volumes: - name: node_modules_cache host: path: /tmp/drone_cache/node_modules # 触发条件 trigger: branch: - main - master - dev event: - push - pull_request