You need to enable JavaScript to run this app. 如何关联GitHub与AWS EC2 CodeDeploy推送CodeIgniter3网站PHP代码
优惠活动
大模型
产品
解决方案
定价
更多

如何关联GitHub与AWS EC2 CodeDeploy推送CodeIgniter3网站PHP代码

无编译环节的GitHub-EC2(CodeIgniter 3)自动同步方案

完全匹配你「代码push后直接同步文件、跳过所有构建编译流程」的需求,可落地的实现路径如下:

方案1:轻量自研链路(零额外成本,适配现有PHP环境)

  • 先完成EC2侧的基础仓库配置:将EC2上现有CodeIgniter站点目录初始化为Git仓库,关联你的GitHub远端仓库,配置好SSH免密拉取权限;务必将生产环境专属配置文件(如application/config/database.php、环境专属参数配置)加入.gitignore,避免同步时覆盖生产配置导致站点故障。
  • 在站点目录下编写极简部署脚本deploy.sh,全程无编译类操作,核心逻辑仅三步:
    #!/bin/bash
    # 切换到站点根目录
    cd /你的CodeIgniter站点绝对路径
    # 拉取生产分支的最新代码
    git pull origin main
    # 修正CodeIgniter需要写权限的目录所有者
    chown -R www-data:www-data application/cache application/logs application/uploads
    
    为脚本赋予可执行权限即可。
  • 直接复用EC2上已有的PHP运行环境,写一个带密钥校验的极简Webhook接收接口:接口逻辑仅为校验GitHub推送请求携带的密钥是否匹配,校验通过则调用上述deploy.sh脚本执行拉取。后续在GitHub仓库的设置页填入该接口的公网访问地址、对应校验密钥即可完成绑定。只要向指定分支push代码,GitHub会自动触发请求,EC2侧直接拉取最新文件完成同步。

方案2:低代码部署工具(零脚本编写成本)

如果不想自行编写接收接口,可选择支持纯文件同步、无强制构建流程的轻量部署工具,配置时仅需完成三个核心设置:

  • 关联目标GitHub仓库,设置触发条件为push到指定生产分支
  • 填入EC2的SSH登录凭证,指定站点的目标部署目录
  • 关闭所有默认的构建、编译步骤,设置为「拉取代码后直接覆盖同步文件」
    这类工具不会强制插入你不需要的依赖安装、编译打包环节,完全匹配直接同步文件的需求。

场景专属避坑提醒

  • 所有同步逻辑必须排除生产环境的动态配置文件,避免代码拉取后覆盖本地数据库连接、站点域名等关键参数。
  • 部署脚本执行时要记录操作日志,将每次git pull的输出、异常信息追加到独立日志文件,方便排查同步失败问题。
  • Webhook接收接口必须设置强密钥校验,避免被恶意请求频繁触发同步操作。

内容的提问来源于stack exchange,提问作者chaky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 22:36:04