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