Ubuntu 18.04 搭建 GitLab 服务器

  • Ubuntu
  • 2019-04-21 22:23:53
  • 浏览 1492
简介<p>随着公司人员不断增加,原有的手动创建代码仓库和手动添加Git SSH Key的方式已经难以满足版本控制的需求,因此寻求一款方便快捷的Git管理工具是非常迫切的。</p><p>决定采用GitLab,优点如下:</p><ul class=" list-paddingleft-2" style="list-style-type: disc;"><li><p>和GitHub非常相似,使用起来学习成本低</p></li><li><p>安装方便(配置简单)</p></li><li><p>安装在自己的服务器上,可以自由建立多个私有仓库</p></li><li><p>仓库和人员管理都很容易</p></li><li><p>我只学习了这个东西,其它的不懂</p></li></ul>

随着公司人员不断增加,原有的手动创建代码仓库和手动添加Git SSH Key的方式已经难以满足版本控制的需求,因此寻求一款方便快捷的Git管理工具是非常迫切的。

决定采用GitLab,优点如下:

  • 和GitHub非常相似,使用起来学习成本低

  • 安装方便(配置简单)

  • 安装在自己的服务器上,可以自由建立多个私有仓库

  • 仓库和人员管理都很容易

  • 我只学习了这个东西,其它的不懂

这篇文章将分为三个部分,因为我有三个服务器要装,分别为Ubuntu18.04(台式电脑的虚拟机)在这上面尝试安装,Ubuntu16.04(我自己的服务器)装来自己用,Ubuntu14.04(公司内网服务器)给小伙伴们用。

一、Ubuntu18.04 安装 GitLab

*我是在VirtualBox虚拟机里安装的Ubuntu18.04,所有一下命令全部是在root用户下执行的,如果非root用户需要加上sudo。

首先将apt源更新到最新,然后安装所需要的依赖,apt参数 -y 的意思是所有询问 [Y/n]的地方全部默认自动选 Y,安装了3个依赖 curl和openssh的服务端还有ca证书。

apt-get update
apt-get install -y curl openssh-server ca-certificates

安装postfix用来做邮件服务器(如有有需要)

apt-get install -y postfix

添加GitLab的源到apt里

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

GitLab有两个版本,一个是社区版一个是企业版,企业版需要收费。我使用的是社区版,如果需要企业版则URL改成以下

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

开始安装

EXTERNAL_URL="http://gitlab.local.com" apt-get install gitlab-ce

这里EXTERNAL_URL的地址将写入到 /etc/gitlab/gitlab.rb 的配置中,也可以直接执行 apt-get install gitlab-ce 然后再去配置gitlab.rb

installing...

installing...

installing...

喝茶...洗澡...

installing...

installing...

installed...

安装完成之后,启动服务

gitlab-ctl start

出现如下图

blob.png

就是成功启动了。


修改本地hosts文件,添加如下

192.168.1.104  gitlab.local.com

在浏览器输入地址 gitlab.local.com ,成功访问页面

blob.png

*首次访问会要求输入管理员密码,很简单看页面提示


点击Register注册一个新用户

blob.png

登录我们注册好的用户并进入个人设置(点击右上角头像图标->settings->左侧菜单 SSH Keys),将我们自己的key添加到如下图地方

blob.png

创建一个新的空仓库

blob.png

复制仓库地址在本地clone一下,成功!创建一个文件测试是否可以推送。

blob.png

成功推送到服务器上,在GitLab里查看我们刚才添加的文件。

blob.png

并且文件的内容也是我们改成创建时候写进去的,那么到这里就基本完成了。



更多配置与使用请参考官网网站:https://about.gitlab.com/


二、Ubuntu16.04 安装 GitLab

安装与18.04一致,安装过程中遇到两个问题

  • 下载速度超慢

  • 系统上原来安装有Nginx,与GitLab自带的Nginx冲突

解决网络慢的问题,使用清华大学的源,首先信任 GitLab 的 GPG 公钥

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

修改源地址

vim /etc/apt/sources.list.d/gitlab_gitlab-ce.list

修改如下

blob.png

更新,然后安装

apt-get update
EXTERNAL_URL="http://gitlab.local.com" apt-get install gitlab-ce

参考:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/


安装完毕,解决与系统安装的Nginx冲突问题,编辑GitLab配置文件

vim /etc/gitlab/gitlab.rb

添加nginx默认端口配置

nginx['listen_port'] = 82

修改unicorn端口与地址

unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8082

修改sidekiq端口

sidekiq['listen_port'] = 8083

重新配置GitLab并且重启

gitlab-ctl reconfigure
gitlab-ctl restart


使用原有的Nginx对GitLab的Nginx进行反向代理,配置如下

upstream gitlab{
   server 127.0.0.1:82 weight=1;
}

server {
    listen       80;
    server_name  域名;
    location / {
	proxy_pass http://gitlab;
	client_max_body_size 1024m;
	proxy_redirect off;
	proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

是配置生效并重启Nginx

nginx -s reload
service nginx restart

测试访问,OK 正常

blob.png


三、Ubuntu14.04 安装 GitLab

与16.04安装一致,不再复述...

文章评论