Docker 搭建的 GitLab 无法提交代码

Posted wst021sh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 搭建的 GitLab 无法提交代码相关的知识,希望对你有一定的参考价值。

前言

前面发布过一篇文章,《​​GitLab 管理员密码忘记如何急救​​》这是新搭建的 GitLab 服务,就是基于 Docker 搭建的 GitLab 最新版本的系统。基于这搭建好的系统,就准备开始工作了,可是又遇到了新问题,无法提交代码?

docker 下正常启动了 GitLab 容器,

Docker

浏览器访问 GitLab 系统,点击 Menu 菜单栏按钮,进入到 Admin 行政管理区,可以看到管理页面的仪表板,点击 New project 按钮,创建一个新项目,如下箭头所示。

Docker

Create new project

Docker

输入项目名称,选择一个 Groups ,项目将会创建到该 Groups 下,点击最下面的 Create project 按钮,将创建好一个新项目。

Docker

新创建好的项目,信息显示如下。

Docker

在容器内部克隆项目,先使用 ssh 方式进行克隆下载,提示如下信息:

kex_exchange_identification: Connection closed by remote host

fatal: Could not read from remote repository.

Docker

然后在使用 http 方式,可以成功克隆下载项目。

下面到容器外部去克隆下载看看,是否能正常下载。

Docker

可以看到使用 http方式, ssh 方式克隆下载项目,都失败了无法正常下载。


修改克隆IP地址

进入容器内,修改 GitLab 服务的主要配置文件,在 /etc/gitlab 目录下,编译 gitlab.rb 配置文件。

Docker

主要有下面两处地方需要修改的。

1、# external_url GENERATED_EXTERNAL_URL

2、# gitlab_rails[gitlab_shell_ssh_port] = 22

Docker

我修改如下所示

1、第一处修改如下
# external_url GENERATED_EXTERNAL_URL

external_url http://192.168.109.129

## Roles for multi-instance GitLab

2、第二处修改如下
### GitLab Shell settings for GitLab
# gitlab_rails[gitlab_shell_ssh_port] = 22
gitlab_rails[gitlab_shell_ssh_port] = 222
# gitlab_rails[gitlab_shell_git_timeout] = 800

修改完上面的两处配置,保存退出,重新执行加载配置。

Docker

刷新浏览器重新访问 GitLab 服务,查看项目信息。

Docker

可以看到项目的访问IP已变成了修改的IP配置了,现在克隆下载项目试试。

Docker

可以看到已正常能下载了,在添加几个文件, push 代码到远程服务器上,看看是否也都正常。

Docker

Docker

Docker

可以看到 push 代码也都正常了。


以上是关于Docker 搭建的 GitLab 无法提交代码的主要内容,如果未能解决你的问题,请参考以下文章

git 服务器搭建及提交代码检查

gitlab私人代码仓库搭建(docker)

使用docker搭建gitlab版本控制系统

Docker搭建Gitlab代码管理平台

Gitlab Runner实现NetCore自动化持续集成

Docker下搭建gitlab