公开摘要
部署前规划
| 服务 | 建议端口 | 说明 |
|---|---|---|
| GitLab Web | 80 | 仓库和合并请求入口。 |
| GitLab SSH | 22 或 2222 | 代码拉取与推送。 |
| Jenkins | 8081 | 避免默认 8080 冲突。 |
| Confluence | 8090 | 知识库入口。 |
| PostgreSQL | 5432 | 默认仅本机访问。 |
- 最低建议 8GB 内存,推荐 16GB;磁盘建议不少于 100GB。
- 先装 Jenkins,再装 GitLab,再装 PostgreSQL + Confluence,方便排障。
- 所有服务均设为开机自启。
- 同机部署时建议增加 Swap,提升 GitLab、Jenkins、Confluence 同时运行的稳定性。
Jenkins 与 GitLab
- 新版 Jenkins 需要 Java 21+,安装后应固定端口到
8081。 - Jenkins 启动后读取初始管理员密码完成初始化。
- GitLab CE 可使用适合环境的 YUM/DNF 源安装,并设置
EXTERNAL_URL为服务器 IP 或域名。 - GitLab 首次登录后应立即修改 root 初始密码。
PostgreSQL 与 Confluence
- Confluence 建议使用独立 PostgreSQL 数据库和低权限账号。
- PostgreSQL 默认只监听本机回环时,Confluence 数据库主机应填写
127.0.0.1或localhost。 - Confluence 安装向导中端口固定为
8090,避免与 Jenkins 冲突。
Confluence 连接 PostgreSQL 时,同机部署优先填 127.0.0.1,而不是服务器外网或内网 IP。
经典故障与防火墙
Connection refused常见原因是数据库主机名填成服务器 IP,而 PostgreSQL 默认只监听本机回环。- 必须走服务器 IP 时,需要修改 PostgreSQL 监听地址和认证规则,但风险更高。
- 防火墙建议只放行
80/tcp、8081/tcp、8090/tcp。 - PostgreSQL 仅本机使用时,不建议对外放行
5432。
维护命令速查
- Jenkins:检查状态、重启服务、查看最近日志。
- GitLab:使用
gitlab-ctl status、restart、reconfigure、tail维护。 - Confluence:检查 systemd 状态,必要时使用安装目录脚本启动或停止。
- PostgreSQL:检查服务状态、重启服务、查看数据库列表。