90 lines
2.0 KiB
YAML
90 lines
2.0 KiB
YAML
kind: pipeline # 定义一个管道
|
||
type: docker # 当前管道的类型
|
||
name: test # 当前管道的名称
|
||
|
||
steps:
|
||
|
||
# 第一步:构建项目
|
||
- name: 构建项目
|
||
image: node:18-alpine
|
||
commands:
|
||
- rm -rf node_modules
|
||
- npm ci
|
||
- npm run build
|
||
|
||
# 第二步:上传静态资源到腾讯云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/utils.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
|