diff --git a/.drone copy.yml b/.drone copy.yml new file mode 100644 index 0000000..6d82a8b --- /dev/null +++ b/.drone copy.yml @@ -0,0 +1,102 @@ +kind: pipeline # 定义一个管道 +type: docker # 当前管道的类型 +name: test # 当前管道的名称 + +steps: + # 第一步:构建项目 + - name: build + image: ccr.ccs.tencentyun.com/library/node:18-alpine + commands: + - npm install + - npm run build + volumes: + - name: node_modules_cache + path: /drone/src/node_modules + + # 第二步:上传静态资源到腾讯云COS + - name: upload-to-cos + image: tencentcloudcli/coscmd:latest + environment: + COS_SECRET_ID: + from_secret: cos_secret_id + COS_SECRET_KEY: + from_secret: cos_secret_key + COS_REGION: + from_secret: cos_region + COS_BUCKET: + from_secret: cos_bucket + commands: + # 配置coscmd + - coscmd config -a $${COS_SECRET_ID} -s $${COS_SECRET_KEY} -b $${COS_BUCKET} -r $${COS_REGION} + # 上传public文件夹下的所有文件 + - coscmd upload -r public/ /static/ + # 设置文件访问权限为公共读 + - coscmd putobjectacl -r /static/ public-read + when: + branch: + - main + - master + - dev + + # 第三步:部署到服务器 + - name: deploy + 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/show.zguiy.com/* + - mkdir -p /www/wwwroot/show.zguiy.com/ + - chmod 755 /www/wwwroot/show.zguiy.com/ + when: + branch: + - main + - master + - dev + + # 第四步:上传构建文件 + - name: upload + 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 diff --git a/.drone.yml b/.drone.yml index 16ad29c..c5c8791 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,7 +5,7 @@ name: test # 当前管道的名称 steps: # 第一步:构建项目 - name: build - image: registry.cn-hangzhou.aliyuncs.com/library/node:18-alpine + image: hub-mirror.c.163.com/library/node:18-alpine commands: - npm install - npm run build @@ -15,7 +15,7 @@ steps: # 第二步:上传静态资源到腾讯云COS - name: upload-to-cos - image: registry.cn-hangzhou.aliyuncs.com/tencentcloud/coscmd:latest + image: tencentcloudcli/coscmd:latest environment: COS_SECRET_ID: from_secret: cos_secret_id @@ -40,7 +40,7 @@ steps: # 第三步:部署到服务器 - name: deploy - image: registry.cn-hangzhou.aliyuncs.com/appleboy/drone-ssh + image: appleboy/drone-ssh settings: host: from_secret: server_host @@ -64,7 +64,7 @@ steps: # 第四步:上传构建文件 - name: upload - image: registry.cn-hangzhou.aliyuncs.com/appleboy/drone-scp + image: appleboy/drone-scp settings: host: from_secret: server_host