使用GitHub Action部署网页到服务器

自动编译并部署到服务器

周三 10月 22 2025
143 字 · 2 分钟

GitHub Action配置

编辑.github/workflow/deploy.yml,配置如下:

YAML
name: Build and Deploy

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Set up pnpm
        uses: pnpm/action-setup@v4
        with:
          version: 8

      - name: Get pnpm store directory
        id: pnpm-cache
        shell: bash
        run: |
          echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_OUTPUT

      - name: Setup pnpm cache
        uses: actions/cache@v4
        with:
          path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
          key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
          restore-keys: |
            ${{ runner.os }}-pnpm-store-

      - name: Install dependencies
        run: pnpm install

      - name: Build project
        run: pnpm build

      - name: Copy files to Server
        uses: appleboy/scp-action@v0.1.7
        with:
          host: ${{ secrets.SERVER_IP }}
          username: ${{ secrets.REMOTE_USER }}
          password: ${{ secrets.SERVER_PASSWORD }}
          source: "dist/*"
          target: ${{ secrets.REMOTE_PATH }}
          strip_components: 1
          timeout: 300s

注意配置一下:

SERVER_IP

REMOTE_USER

SERVER_PASSWORD

REMOTE_PATH


Thanks for reading!

使用GitHub Action部署网页到服务器

周三 10月 22 2025
143 字 · 2 分钟