3.9 KiB
3.9 KiB
Gitea Actions CI/CD 配置指南
整体流程
代码推送 → Gitea Actions自动构建 → SCP上传到宝塔服务器 → 完成!
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密码 |
Gitea Actions Runner配置
确保你的Gitea Actions Runner标签包含 ubuntu-latest:
- 登录Gitea管理员账户
- 进入 管理后台 → Actions → Runner
- 编辑Runner,添加标签:
ubuntu-latestubuntu-24.04ubuntu-22.04
宝塔面板准备工作
1. 确认SSH权限
在宝塔面板中确认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
宝塔防火墙配置
确保服务器的SSH端口(默认22)开放:
- 宝塔面板 → 安全 → 防火墙
- 放行22端口(或你自定义的SSH端口)
使用流程
开发环境(develop分支)
-
推送代码
git checkout develop git add . git commit -m "update" git push origin develop -
自动构建和部署 - Gitea Actions自动执行全部流程
-
验证 - 访问
https://test1.stnav.com/parten
生产环境(master分支)
-
合并代码
git checkout master git merge develop git push origin master -
自动构建和部署 - Gitea Actions自动执行全部流程
-
验证 - 访问生产环境地址
宝塔站点配置(可选)
如果需要配置域名访问:
- 宝塔面板 → 网站 → 添加站点
- 填写域名(如:
test1.stnav.com) - 根目录选择
/www/wwwroot/test1.stnav.com/public - 创建完成后,在站点设置中:
- 网站目录 → 运行目录改为
parten - 或创建反向代理到
http://127.0.0.1:端口/parten
- 网站目录 → 运行目录改为
常见问题
1. Actions不执行
检查:
- Gitea Actions是否启用:管理后台 → Actions → 设置
- Runner是否在线
- Runner标签是否包含 ubuntu-latest
2. SSH连接失败
检查:
- 服务器IP是否正确
- SSH密码是否正确
- 防火墙是否放行22端口
- 宝塔SSH是否开启
3. 权限被拒绝
解决:
- 确认目标目录存在
- 检查目录权限:chmod 755 目录路径
- 确认SSH用户有写入权限
安全建议
⚠️ 重要提醒:
- 生产服务器的密码建议定期更换
- 考虑使用受限的SSH用户
- 监控Actions日志,及时发现异常
优势
使用Gitea Actions的优势:
- ✅ 语法与GitHub Actions相同,易于理解
- ✅ 使用ubuntu系统,兼容性好
- ✅ 内置artifacts管理
- ✅ 支持并行任务
- ✅ 宝塔面板可视化服务器管理