Files
blogflare/.drone.yml
T

75 lines
1.8 KiB
YAML

kind: pipeline
type: docker
name: default
node:
name: pve
trigger:
branch:
- main
event:
- push
- custom
steps:
- name: build-and-deploy
image: node:22
environment:
CLOUDFLARE_ACCOUNT_ID:
from_secret: CLOUDFLARE_ACCOUNT_ID
CLOUDFLARE_API_TOKEN:
from_secret: CLOUDFLARE_API_TOKEN
volumes:
- name: pnpm-store
path: /root/.local/share/pnpm/store
commands:
- corepack enable
- pnpm install --frozen-lockfile --prefer-offline
- pnpm run ci
- pnpm exec wrangler d1 migrations apply blogflare-db --remote
- pnpm exec wrangler pages deploy .svelte-kit/cloudflare --project-name=blogflare --branch=main
- name: notify-success
image: appleboy/drone-telegram
settings:
token:
from_secret: TELEGRAM_BOT_TOKEN
to:
from_secret: TELEGRAM_CHAT_ID
format: html
message: >
🎉 <b>BlogFlare 自动化部署成功!</b>
📦 <b>提交变动说明:</b>
<code>{{ commit.message }}</code>
🚀 全套改动现已全网完成发布部署!
when:
status:
- success
- name: notify-failure
image: appleboy/drone-telegram
settings:
token:
from_secret: TELEGRAM_BOT_TOKEN
to:
from_secret: TELEGRAM_CHAT_ID
format: html
message: >
❌ <b>BlogFlare 构建与发布遭遇失败中断!</b>
📦 <b>本次尝试的修改:</b>
<code>{{ commit.message }}</code>
⚠️ 该步骤未获完全通过,已退离作业;请立刻返回仓库操作屏复对完整运行记录,扫清排查代码层或通讯网络上的潜在卡塞问题。
when:
status:
- failure
volumes:
- name: pnpm-store
host:
path: /tmp/drone/pnpm-store