CICD
2026-08-06 11:02:06

参考内容:https://chatgpt.com/c/6a53ad4e-e818-83ee-af6e-7d4c1fe0dad7

基本介绍

持续集成,持续交付

通过工作流实现

.github/workflows/deploy.yml

vue-project/
├── .github/
│ └── workflows/
│ └── deploy.yml
├── src/
├── package.json
├── package-lock.json
└── vite.config.js
Workflow
├── name:叫什么
├── on:什么时候运行
├── env:有哪些公共变量
└── jobs:需要执行哪些任务
    └── job
        ├── runs-on:在哪运行
        └── steps:分成哪些步骤

快速案例

部署远程机器的前端代码

name: build_ping_dou // 工作流名称

on:
  workflow_dispatch: // 支持手动运行
  push:
    branches:
      - main
    paths:
      - "src/**"
      - "public/**"
      - "package.json"
      - "package-lock.json"
      - "vite.config.js" // 上面文件改动触发
      
  

jobs:
  build:
    name: 构建Vue项目
    runs-on: ubuntu-latest // github免费提供的工作流执行机器
    steps:
      - name: Deploy to Server // 步骤名称
        env:
          HOST: $ // 通过
          USER: root
          PASSWORD: $
        run: | // 执行脚本
          sudo apt-get update
          sudo apt-get install -y sshpass

          sshpass -p "$PASSWORD" ssh \
            -o StrictHostKeyChecking=no \
            $USER@$HOST << 'EOF'

          cd /root/project/pingdou

          git pull

          npm install

          npm run dev

          EOF


配置变量

敏感信息不写在工作流上

Settings
Secrets and variables
Actions



Prev
2026-08-06 11:02:06