ci: 为项目添加CI/CD功能 #30

Manually merged
remilia merged 18 commits from ci/gitea-actions into master 2025-09-26 17:14:03 +08:00

View File

@ -0,0 +1,48 @@
name: deploy to server
on: push
jobs:
build-and-deploy:
runs-on: node22-build
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup node 22
uses: actions/setup-node@v5
with:
node-version: '22'
cache: 'pnpm'
- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- name: Install dependencies
run: pnpm install
- name: Cache Nuxt build
uses: actions/cache@v4
with:
path: .nuxt
key: ${{ runner.os }}-nuxt-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-nuxt-
- name: Build project
run: pnpm run build
- name: Deploy to server
if: github.ref == 'refs/heads/master'
uses: easingthemes/ssh-deploy@main
with:
ARGS: "-rlgoDzvc -i --delete"
REMOTE_HOST: ${{ secrets.rsync_host }}
REMOTE_USER: ${{ secrets.rsync_username }}
SOURCE: ${{ secrets.rsync_source }}
TARGET: ${{ secrets.rsync_destination }}
SSH_PRIVATE_KEY: ${{ secrets.rsync_key }}
SCRIPT_AFTER: ${{ secrets.script_after_rsync }}