78 lines
1.6 KiB
YAML
78 lines
1.6 KiB
YAML
kind: pipeline # 定义一个管道
|
|
type: docker # 当前管道的类型
|
|
name: test # 当前管道的名称
|
|
|
|
steps:
|
|
# 第一步:构建项目
|
|
- name: build
|
|
image: node:18-alpine
|
|
commands:
|
|
- npm install
|
|
- vite build
|
|
volumes:
|
|
- name: node_modules_cache
|
|
path: /drone/src/node_modules
|
|
|
|
# 第二步:部署到服务器
|
|
- 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/
|
|
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
|
|
rm: true
|
|
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
|