Ubuntu18.04 GitLab仓库服务器搭建

首先安装必须的一些依赖

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

 

安装Postfix发送通知邮件

sudo apt-get install -y postfix

运行命令后,会出现一样邮件配置项,选择Interent site这项,然后一路回车键使用左右键和回车键选择确定、取消,弹出列表选项的时候,选择 Internet Site)

官方源安装gitlab

官方源网站安装gitlab(如果官网无法安装,请参照下边步骤,利用国内安装源进行安装)

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

国内源安装gitlab

信任 GitLab 的 GPG 公钥(配置git的公钥,如果不信任公钥,无法配置清华大学的镜像路径,切记):

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

配置镜像路径(由于git官网是国外的服务器,所以配置清华大学的镜像路径)

切换到root用户,打开下面文件;将下边的信息添加到文档中(详见Gitlab Community Edition 镜像使用帮助

vi /etc/apt/sources.list.d/gitlab-ce.list  --打开文件
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main  --添加国内安装源

gitlab安装包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce

国内源安装 gitlab-ce

sudo apt-get update  --更新
sudo apt-get install gitlab-ce  --安装

 

执行配置

sudo gitlab-ctl reconfigure

 注1:

在执行配置的时候sudo gitlab-ctl reconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,出现会一直卡无法往下进行!

解决方案:

1、按住CTRL+C强制结束;

2、运行:sudo systemctl restart gitlab-runsvdir

3、再次执行:sudo gitlab-ctl reconfigure

 

 注2:(自己遇到的坑,在网上查的资料得知,)

  1. 在ruby_block动作运行一步会出现超时

运行处理程序:运行gitlab-ctl reconfigure时出错:ruby_block [使用GitLab授权Grafana](监视:: grafana第95行)发生错误:Mixlib :: ShellOut :: CommandTimeout:命令在600秒后超时:命令超出允许执行时间,进程终止
----开始输出/ opt / gitlab / bin / gitlab-railsRunner -e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx.xx.xx/ -/ grafana / login / gitlab”,名称:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app.secret);' ---- STDOUT:
STDERR:
---- / opt / gitlab / bin / gitlab-railsRunner的最终输出-e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx。 xx.xx /-/ grafana / login / gitlab”,名称:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app。
----运行/ opt / gitlab / bin / gitlab-railsRunner
-e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx.xx.xx/-/grafana/login/ gitlab”,名称:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app.secret);' 

2.sudo gitlab-rake gitlab:env:info正常返回虽然有时上面一步出现超时,测试发现已经可以通过浏览器访问Gitlab服务器,并且可以进入到注册页面,但提交注册时出现返回超时而用户可以成功注册的情况。配置信息,页面返回虽然超时但操作可以正常完成,这也是我判断可能是服务运行过缓慢导致超时的原因。

3.在登录时反复超时,无法正常使用。将服务器内存配置替换为2GB后解决超时问题

 

注3:如果遇到这种报错信息的话,应该是git用户权限的问题。git用户需要对包含.ssh目录的文件夹(包含父文件夹)执行权限。

Running handlers:
There was an error running gitlab-ctl reconfigure:

service[grafana] (dynamically defined) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana ----
STDOUT: timeout: run: /opt/gitlab/service/grafana: (pid 5165) 33s, got TERM
STDERR:
---- End output of /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana ----
Ran /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana returned 1

 即使/var/opt/gitlab/.ssh的所有者和用户组都是git,由于父权限,它也不能到这级目录执行shell命令。即,给 /var/opt/gitlab/目录执行权限

chmod +x /var/opt/gitlab/
chmod +x /var/opt/
chmod +x /var/

如果执行不成功,就用sudo命令执行

 

启动gitlab

sudo gitlab-ctl start

 

浏览器进行访问

http://电脑的IP地址

  第一次进入,需要输入管理员账号的密码,以方便后期的管理。
输入好之后,就可以以管理员进行登录,账号是root,密码就是你刚才输入的密码。
至此,gitlab已安装成功,之后的使用方式,和github没有太大差异,就不进行介绍了

 

扩展

修改gitlab的端口和地址

编辑gitlab.rb

sudo gedit /etc/gitlab/gitlab.rb

将如下数据进行更改

external_url 'http://gitlab.example.com'

比如说更改为

external_url 'http://192.168.39.100:7800'

其中,192.168.39.100是安装了gitlab的这台电脑的IP,端口只要不冲突就行

更改之后,需要执行如下代码

sudo gitlab-ctl reconfigure 

最后,在浏览器中访问gitlab,发现已修改成功,需要使用192.168.39.100:7800来访问

 

其他

gtilab部分命令

开启
sudo gitlab-ctl start
停止
sudo gitlab-ctl stop
重启
sudo gitlab-ctl restart
查看状态
sudo gitlab-ctl status
确认配置(修改配置后,必须执行)
sudo gitlab-ctl reconfigure
查看日志
sudo gitlab-ctl tail 
查看 GitLab 版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 

卸载gitlab

sudo gitlab-ctl uninstall

sudo dpkg -r gitlab-ce

sudo rpm -e gitlab-ce

reboot(重启)

 

posted @ 2019-04-12 09:00  幸运球与倒霉蛋  阅读(1714)  评论(0编辑  收藏  举报