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电商网站搭建
- 支付和物流系统集成
- 网站速度优化和安全加固
获取报价
欢迎联系我们获取详细报价,我们提供免费咨询。