Gitlab 安装后的配置

简介

更新,之前可能是自己的 git 版本的原因不能自动识别 ssh 协议,特在此删除 ssh:// 部分的内容,但是加上也不会错

gitlab 的安装就不说了,大家可以直接访问参考链接中的步骤安装,也可以直接 clone gitlab 的 docker 仓库。我是用 docker 仓库的方式安装的,目的是为了方便移植:

但安装完成之后也许你会遇到一下这个个问题:

你的机器 22 443 80 端口都被其他程序占用,于是你之后修改配置将这些端口映射到其他端口去(比如: 50022, 50443, 50080)

80 端口的问题很好解决,用反向代理即可。

在没有打开 HTTPS 代理 SSL 的情况下也可以用反响代理实现 443 端口的全功能。

但我没有找到可以进行反响代理 22 端口的工具(想想也不行),如果你先在将 22 端口映射到 50022 端口,你的用户名为 user1,你新建一个工程 prj1 那么你得到的 SSL clone 地址为 git@gitlab.example.com:user1/prj1.git

慢点慢点,这个克隆地址好像有问题

用下面的命令直接去克隆这个地址指向的工程 ~~git clone git@gitlab.example.com:user1/prj1~~

很显然不行,首先协议就不知道什么协议所以我们加上协议( SSH ),git clone ssh://git@gitlab.example.com:user1/prj1

还是不行,当然啦,我们的端口号明显不是 22, 而是 50022, 那么我们再把端口号加上 git clone ssh://git@gitlab.example.com:user1/prj1

可以了!!!!!!

慢点慢点,一般搭建 gitlab 是给自己团队使用的,每次都婆心的告诉每个团队成员上叙方法,或者新来的成员,或者忘记了的成员。天啦,怎么能忍..........

那么先找找能否在 /etc/gitlab/gitlab.rb,似乎没有能够配置的地方,想想也是,一般人应该也是会把 gitlab 安装到一台单独的服务器上,像我们创业公司需要开源节流(于是把所有的公司服务都放在一台服务器上),创业公司需要优化资源,优化时间,优化沟通效率肯定不能忍受那种口耳相传的方法。只能采取上叙方式了。那怎么破?

实战

斩草要除根,春风吹又生!!!

  1. gitlab 的网页用 reils 编写

  2. gitlab 的安装目录一般在 /opt 目录下(如果不再,就找到安装目录)

  3. 找到以下两个文件 gitlab/embedded/service/gitlab-rails/app/views/projects/empty.html.haml, gitlab/embedded/service/gitlab-rails/app/views/buttons/_clone.html.haml

  4. 修改 gitlab/embedded/service/gitlab-rails/app/views/projects/empty.html.haml 中 clone 的地址和 remote 的地址

     把
     #{ ... default_url_to_repo ...}
     修改成
     ssh://#{default_url_to_repo.split(':')[0]}:50022/#{default_url_to_repo.split(':')[1]}
    
  5. 修改 gitlab/embedded/service/gitlab-rails/app/views/buttons/_clone.html.haml 中 ssl 拷贝地址

     把
     default_url_to_repo(project)
     修改成
     ssh://#{default_url_to_repo(project).split(':')[0]}:50022/#{default_url_to_repo(project).split(':')[1]}
    
  6. 接着运行 gitlab-ctl reconfigure;gitlab-ctl restart 大功告成

最后的最后

人的为何存在(思想)

思路大致就是上面那样

不同版本修改的地方也不一样,当然可能有直接可配置的方法,不要局限

但当下已经足够解决问题了

posted @ 2019-09-11 15:20  Mojies  阅读(321)  评论(0编辑  收藏  举报