April 6, 2026 Uncategorized

WordPress + GitHub Actions自动化部署:CI/CD持续集成完整配置教程

GitHub Actions 是 GitHub 推出的强大 CI/CD(持续集成/持续部署)自动化工具,可以帮助 WordPress 开发者实现代码提交后自动部署到服务器。本文介绍如何使用 GitHub Actions 实现 WordPress 项目的自动化部署。

为什么需要自动化部署?

传统的 WordPress 部署流程需要开发者在本地完成开发后,手动上传文件到服务器。使用 GitHub Actions 自动化部署可以带来以下好处:

  • 节省时间:代码推送后自动完成部署,无需手动操作
  • 减少人为错误:自动化流程比人工操作更可靠
  • 版本控制:所有部署都有 git 记录,可追溯可回滚
  • 团队协作:统一部署流程,团队成员都能触发部署

WordPress项目GitHub Actions自动部署流程

准备工作

  • GitHub 账号和一个 WordPress 项目仓库
  • 可 SSH 访问的目标服务器
  • 本地生成 SSH 密钥对

第一步:配置SSH密钥

在本地生成 SSH 密钥对:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

将公钥添加到服务器的 authorized_keys 文件中:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@your-server-ip

在 GitHub 仓库的 Settings → Secrets 中添加名为 SSH_PRIVATE_KEY 的 Secret,值为私钥内容。

第二步:创建GitHub Actions工作流文件

在项目根目录下创建 .github/workflows/deploy.yml 文件:

name: Deploy WordPress Site
on:
  push:
    branches:
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Deploy to server
        uses: email/repo/publishSSHKey@v3
        with:
          ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
      - name: Sync files to server
        run: |
          rsync -chav --delete \
            --exclude '/.git/' \
            --exclude '/node_modules/' \
            ./ user@your-server-ip:/var/www/wordpress/

第三步:使用rtCamp官方Action(推荐)

rtCamp 提供了专门用于 WordPress 部署的 GitHub Action,使用更简单:

on: push
name: Deploy WordPress Site
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Deploy
        uses: rtCamp/action-deploy-wordpress@v3
        env:
          SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}

这个 Action 期望 git 仓库结构将 wp-content 目录下的内容(不包括 uploads)纳入版本控制。

rsync部署参数说明

  • -c:通过校验和比较文件变化
  • -h:以易读格式输出数字
  • -a:保留文件属性和权限,递归复制
  • -v:显示状态输出
  • –delete:删除目标中源文件没有的文件
  • –exclude:排除指定文件(如 .git、node_modules)

设置GitHub Secrets

在 GitHub 仓库 Settings → Secrets and variables → Actions 中添加:

  • SSH_PRIVATE_KEY:服务器 SSH 私钥
  • SSH_HOST:服务器 IP 地址
  • SSH_USER:服务器用户名

WordPress Skeleton结构推荐

为了更好地与 GitHub Actions 配合,推荐使用 WordPress Skeleton 结构,将 WordPress 核心文件与自定义内容分离:

  • wp/ — WordPress 核心文件(不纳入版本控制)
  • wp-content/ — 自定义主题、插件、uploads
  • wp-config.php — 配置文件

总结

通过 GitHub Actions 实现 WordPress 自动化部署,可以显著提升开发效率,减少人工操作带来的错误。建议从简单的 rsync 部署开始,逐步引入更复杂的 CI/CD 流程。

需要专业的WooCommerce定制开发服务?

作为资深的WordPress和WooCommerce开发团队,我们专注于为企业提供高质量的电商网站定制开发服务。

我们的服务优势

  • 8年以上WooCommerce开发经验:成功交付150+电商项目
  • 源码交付,永久授权:您拥有全部代码和数据
  • 7×24小时技术支持:快速响应,及时解决问题
  • 先报价后合作:不满意可无条件退款

服务项目

  • WooCommerce定制主题开发
  • WooCommerce插件功能开发
  • WooCommerce电商网站搭建
  • 支付和物流系统集成
  • 网站速度优化和安全加固

获取报价

欢迎联系我们获取详细报价,我们提供免费咨询。

Leave a Reply

Your email address will not be published. Required fields are marked *