下面讲一下如何在 Ubuntu 16.04 操作系统中搭建 GitLab 服务,以下是操作步骤:
主要参考资料:https://about.gitlab.com/downloads/#ubuntu1604
1
安装依赖包,运行命令
sudo apt-get install curl openssh-server ca-certificates postfix
执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的)
2
利用清华大学的镜像来进行主程序的安装。
注意: gitlab-ce 镜像仅支持 x86-64 架构
Debian/Ubuntu 用户
:
首先信任 GitLab 的 GPG 公钥:
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
再选择你的 Debian/Ubuntu 版本,文本框中内容写进 /etc/apt/sources.list.d/gitlab-ce.list
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
3
安装 gitlab-ce:
sudo apt-get update
sudo apt-get install gitlab-ce
4
配置GitLab IP地址,首先运行
sudo -e /etc/gitlab/gitlab.rb
在文本中修改 externval_url
之后的域名,可以是本机 IP 或指向本机 IP 的域名(注意要带有“https://”),这一行在全部文本中位于很靠上面的位置,如下图所示。
sudo gitlab-ctl reconfigure
5
打开 sshd 和 postfix 服务
service sshd start
service postfix start
5
为了使 GitLab 社区版的 Web 界面可以通过网络进行访问,我们需要允许80
端口通过防火墙,这个端口是 GitLab 社区版的默认端口。为此需要运行下面的命令
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
6
检查GitLab是否安装好并且已经正确运行,输入下面的命令
sudo gitlab-ctl status
如果得到类似下面的结果,则说明 GitLab 运行正常:
run: gitlab-workhorse: (pid 1148) 884s; run: log: (pid 1132) 884s
run: logrotate: (pid 1150) 884s; run: log: (pid 1131) 884s
run: nginx: (pid 1144) 884s; run: log: (pid 1129) 884s
run: postgresql: (pid 1147) 884s; run: log: (pid 1130) 884s
run: redis: (pid 1146) 884s; run: log: (pid 1133) 884s
run: sidekiq: (pid 1145) 884s; run: log: (pid 1128) 884s
run: unicorn: (pid 1149) 885s; run: log: (pid 1134) 885s
...
输入服务器地址, 即可访问
7
首次使用时,浏览器Web页面会提示设置密码,如下图所示
8
设置密码 password 后,点击按钮 “Change your password” 后,跳转到登录/注册页面,如下图所示
9
登录进入系统后,创建一个 Group,创建后如下图所示
10
创建用户,进入http://你的服务器 IP/users/sign_in
,进入首页创建一个新用户,如下图所示
11
创建好了用户后,会自动引导至用户的主页,点击左边菜单栏中的 Profile Settings,进入配置界面,再点击导航栏中的SSH Keys
进入密钥的输入界面,如下图所示
12
在用户主页中创建项目,如下图所示
13
创建好了项目后,引导至项目的主页, 至此,基于Ubuntu 16.04 x64
操作系统的GitLab
服务器搭建工作就完成了。
最后,附上 GitLab 常用命令:
常用命令 | 说明 |
---|---|
sudo gitlab-ctl reconfigure | 重新加载配置,每次修改 /etc/gitlab/gitlab.rb 文件之后执行 |
sudo gitlab-ctl status | 查看 GitLab 状态 |
sudo gitlab-ctl start | 启动 GitLab |
sudo gitlab-ctl stop | 停止 GitLab |
sudo gitlab-ctl restart | 重启 GitLab |
sudo gitlab-ctl tail | 查看所有日志 |
sudo gitlab-ctl tail nginx/gitlab_acces.log | 查看 nginx 访问日志 |
sudo gitlab-ctl tail postgresql | 查看 postgresql 日志 |