website/.drone.yml

122 lines
3.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

kind: pipeline
type: docker
name: isle-website
steps:
# 恢复缓存
- name: restore-cache
pull: if-not-exists # 镜像不存在则拉取,避免多次下载
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
restore: true
mount:
- ./node_modules
# 安装依赖
- name: install
pull: if-not-exists
image: node:16.17.1
commands:
- echo "安装依赖"
- echo "全局安装PNPM"
- npm config set registry https://registry.npmmirror.com/
- npm install -g pnpm@8.15.5
- pnpm -v
- echo "PNPM安装完成"
- pnpm config get registry
- pnpm config set registry https://registry.npmmirror.com/
# - pnpm config set registry http://registry.npm.taobao.org/
# - pnpm config set registry https://registry.npmjs.org
- pnpm install --no-frozen-lockfile
# 构建
- name: build
pull: if-not-exists
image: node:16.17.1
commands:
- echo "开始构建"
- npm config set registry https://registry.npmmirror.com/
- npm install -g pnpm@8.15.5
- pnpm docs:build
- ls
# 更新缓存
- name: rebuild-cache
pull: if-not-exists
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
rebuild: true
mount:
- ./node_modules
# 上传
- name: upload
image: appleboy/drone-scp
settings:
host:
from_secret: ssh_host
username:
from_secret: ssh_username
password:
from_secret: ssh_password
target: /srv/nginx/html/isle/website
source: ./.vitepress/dist/*
strip_components: 2
- name: deploy
pull: if-not-exists
image: appleboy/drone-ssh
settings:
host:
from_secret: ssh_host
username:
from_secret: ssh_username
password:
from_secret: ssh_password
port: 22
script:
- echo "SSH已连接开始部署"
- cd /srv/nginx
- pwd
# - docker restart nginx
# - cp -r /drone/src/dist/* web
- echo "部署完成"
# 通知
- name: notify
pull: if-not-exists
image: drillster/drone-email
settings:
recipients_only: true # 只发送给指定邮件收件人,不默认发送给流水线创建人
host: smtp.feishu.cn # SMTP服务器 例如 smtp.qq.com
port: 587 # SMTP服务端口 例如QQ邮箱端口465
username:
from_secret: mail_username
password:
from_secret: mail_password
from:
from_secret: mail_username
recipients:
- lijianchao@sentenceend.com
# - biankunchao@sentenceend.com
subject: Drone CI Build or Deployment${DRONE_REPO}
body: |-
仓库 ${DRONE_REPO} 在 ${DRONE_BRANCH} 分支触发了 ${DRONE_BUILD_EVENT} 事件,提交信息 ${DRONE_COMMIT_MESSAGE} ,构建和发布 ${DRONE_BUILD_STATUS}
# 挂载本地磁盘路径
volumes:
- name: cache
host:
path: /tmp/drone-cache
trigger:
branch:
- main
event:
- push