Files
tea-admin-parten/CICD_SETUP.md
2026-04-24 14:44:02 +08:00

3.5 KiB
Raw Blame History

宝塔面板 + Gitea CI/CD 配置指南

整体流程

代码推送 → Gitea CI/CD自动构建 → SSH上传到宝塔服务器 → 完成!

宝塔面板准备工作

1. 确认SSH权限

在宝塔面板中确认:

  • 面板设置 → 面板账户 中的SSH信息
  • 或者在安全 → SSH管理中查看

2. 确保目录存在

在宝塔终端或SSH中创建部署目录

# 开发服务器
mkdir -p /www/wwwroot/test1.stnav.com/public/parten
chmod -R 755 /www/wwwroot/test1.stnav.com/public/parten

# 生产服务器
mkdir -p /www/wwwroot/default/chaz_admin/public/parten
chmod -R 755 /www/wwwroot/default/chaz_admin/public/parten

Gitea Secrets配置

在仓库 Settings → Secrets 中添加以下变量:

开发服务器

变量名 值示例 说明
DEV_SERVER_IP 192.168.1.100 开发服务器IP
DEV_SERVER_PATH /www/wwwroot/test1.stnav.com/public/parten 部署路径
DEV_SSH_PASSWORD 你的SSH密码 服务器SSH密码

生产服务器

变量名 值示例 说明
PROD_SERVER_IP 192.168.1.101 生产服务器IP
PROD_SERVER_PATH /www/wwwroot/default/chaz_admin/public/parten 部署路径
PROD_SSH_PASSWORD 你的SSH密码 服务器SSH密码

宝塔防火墙配置

确保服务器的SSH端口默认22对Gitea Runner开放

  1. 宝塔面板 → 安全 → 防火墙
  2. 放行22端口或你自定义的SSH端口

使用流程

开发环境develop分支

  1. 推送代码

    git checkout develop
    git add .
    git commit -m "update"
    git push origin develop
    
  2. 自动构建 - Gitea自动触发 build-dev

  3. 手动部署

    • 进入仓库 CI/CD → Pipelines
    • 找到 develop 分支的 Pipeline
    • 点击 deploy-dev 的播放按钮 ▶️
  4. 验证 - 访问 https://test1.stnav.com/parten

生产环境master分支

  1. 合并代码

    git checkout master
    git merge develop
    git push origin master
    
  2. 自动构建 - Gitea自动触发 build-prod

  3. 手动部署

    • 进入仓库 CI/CD → Pipelines
    • 找到 master 分支的 Pipeline
    • 点击 deploy-prod 的播放按钮 ▶️
  4. 验证 - 访问生产环境地址

宝塔站点配置(可选)

如果需要配置域名访问:

  1. 宝塔面板 → 网站 → 添加站点
  2. 填写域名(如:test1.stnav.com
  3. 根目录选择 /www/wwwroot/test1.stnav.com/public
  4. 创建完成后,在站点设置中:
    • 网站目录 → 运行目录改为 parten
    • 或创建反向代理到 http://127.0.0.1:端口/parten

常见问题

1. SSH连接失败

检查:
- 服务器IP是否正确
- SSH密码是否正确
- 防火墙是否放行22端口
- 宝塔SSH是否开启

2. 权限被拒绝

解决:
- 确认目标目录存在
- 检查目录权限chmod 755 目录路径
- 确认SSH用户有写入权限

3. 构建成功但部署失败

检查:
- Secrets中的密码是否正确
- 部署路径是否正确
- 服务器SSH服务是否运行

安全建议

⚠️ 重要提醒:

  • 生产服务器的密码建议定期更换
  • 考虑使用Gitea的受限Runner来提高安全性
  • 监控CI/CD日志及时发现异常

优势

使用宝塔面板的优势:

  • 可视化管理服务器
  • 方便查看日志和文件
  • 内置防火墙和安全防护
  • 简化SSL证书配置
  • 图形化Nginx/Apache配置