Ubuntu 18.04 搭建 GitLab 服务器
- Ubuntu
- 2019-04-21 22:23:53
- 浏览 2002
随着公司人员不断增加,原有的手动创建代码仓库和手动添加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
出现如下图
就是成功启动了。
修改本地hosts文件,添加如下
192.168.1.104 gitlab.local.com
在浏览器输入地址 gitlab.local.com ,成功访问页面
*首次访问会要求输入管理员密码,很简单看页面提示
点击Register注册一个新用户
登录我们注册好的用户并进入个人设置(点击右上角头像图标->settings->左侧菜单 SSH Keys),将我们自己的key添加到如下图地方
创建一个新的空仓库
复制仓库地址在本地clone一下,成功!创建一个文件测试是否可以推送。
成功推送到服务器上,在GitLab里查看我们刚才添加的文件。
并且文件的内容也是我们改成创建时候写进去的,那么到这里就基本完成了。
更多配置与使用请参考官网网站: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
修改如下
更新,然后安装
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 正常
三、Ubuntu14.04 安装 GitLab
与16.04安装一致,不再复述...