如何解决Tuleap Docker部署自定义SSH端口时Git克隆地址显示错误
Tuleap自定义SSH端口Git克隆地址异常修复
适用于Docker部署Tuleap CE版本,将容器内SSH 22端口映射至宿主机非标准端口后,项目页面Git SSH克隆地址缺失端口号的场景。
操作步骤
- 进入运行中的Tuleap web容器
执行命令:docker exec -it <你的tuleap容器名> /bin/bash - 修改Tuleap本地配置指定对外SSH端口
编辑配置文件/etc/tuleap/conf/local.inc,新增或修改$sys_ssh_port配置项,值为宿主机对外暴露的SSH映射端口,对应示例配置如下:// 对外提供服务的SSH端口,即宿主机映射后的端口 $sys_ssh_port = 2222;注意:此处必须填写宿主机映射后的对外端口,不要填容器内部监听的22端口,否则配置无法生效。
- 清空Tuleap系统缓存使配置生效
在容器内执行命令:su - codendiadm -c "/usr/share/tuleap/src/utils/php-launcher.sh /usr/share/tuleap/tools/distlp/backend.php --clear-cache" - 验证结果
退出容器后刷新项目Git仓库页面,此时SSH克隆地址将自动带上配置的自定义端口,显示格式为ssh://gitolite@<你的域名>:2222/<项目标识>/<仓库名>.git,和实际可用的克隆地址完全匹配,可直接正常使用。
注意事项
- 无需修改容器内部sshd服务的监听端口,容器内sshd必须保持监听22端口,否则会导致Gitolite SSH鉴权逻辑异常
- 后续如果调整SSH端口映射规则,只需同步修改
$sys_ssh_port的取值、重新清空缓存即可,不需要重启容器 - 配置生效后,全站所有项目的Git SSH克隆地址、SSH操作相关提示都会自动更新为正确的带端口格式
内容的提问来源于stack exchange,提问作者Dinsdale
相关产品推荐
相关产品推荐

