CI/CD(持续集成/持续部署)能让你提交代码后自动测试、构建、部署,是现代开发的标配。GitHub Actions 提供了免费的自动化能力。

一、核心概念

二、创建第一个工作流

在仓库根目录建 .github/workflows/deploy.yml

name: Deploy

on:
  push:
    branches: [ main ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build
        run: echo "构建中..."
      - name: Deploy
        run: echo "部署到服务器"

这样每次 push 到 main 分支,就会自动触发这套流程。

三、部署到服务器

用 SSH 把构建产物传到服务器。GitHub Secrets 用来安全存储服务器密码/密钥:

      - name: Deploy to Server
        uses: appleboy/ssh-action@v1
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USER }}
          key: ${{ secrets.KEY }}
          script: |
            cd /var/www/gdcpsoft
            git pull
            systemctl reload nginx
敏感信息(密码、密钥)绝不能写进代码仓库,一律用 GitHub Secrets 引用,加密存储。

四、触发方式

五、小结

CI/CD 把繁琐的部署工作自动化,是工程效率的飞跃。从最简单的 push 部署开始,逐步加入测试、构建、通知等环节,构建完整的流水线。