本文讲解基于ubuntu系统,在服务器上搭建GitLab的完整流程
一、GitLab是什么?
Gitlab是使用Git作为代码管理工具,并在此基础上搭建起来的Web服务,被广泛用于代码管理的图形化工具; 拓展了多种能力,如合入请求、提问(issue)、持续集成(DevOps)等,极大提升了管理效率。
二、搭建流程
第一步:调整防火墙规则
为了后续gitLab能被外网正常访问,需放开防火墙对Http、Https的限制
(1) 首先输入以下命令,查看防火墙状态:
java
sudo ufw status
(2) 如果(1)中返回的结果里,action列展示为allow,则表示已经放开限制
否则输入以下命令放开限制:
java
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
第二步:更新本地包&安装相关依赖
进入终端窗口,执行以下命令:
java
sudo apt update
sudo apt install ca-certificates curl openssh-server postfix
注意1:安装postfix(邮件服务器)时可能出现激活gitlab邮箱配置,选择Internet站点那个选项,输入发送邮件的目的邮箱。 注意2:如果下载过程很慢,则需要科学上网,这个不做展开,可以自行搜索方法解决
第三步:设置存储库&安装Gitlab,下载配置存储库的脚本到tmp目录下
执行命令:
java
cd /tmp && curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
第四步:运行脚本开始设置GitLab的存储库
检查版本无误后,执行下面命令,运行脚本开始设置GitLab的存储库
java
sudo bash /tmp/script.deb.sh
第五步:正式安装GitLab
java
sudo apt install gitlab-ce
至此,gitlab已完成搭建
三、实现访问
虽然已在服务器搭建了gitLab,但外网仍然无法访问,要解决这个问题,就需要做一些配置
第一步:添加公网ip
公网ip就是服务器对外暴露的地址(一般买了云服务器,都会有这个地址),只有在gitLab系统里面做了配置,外部才能通过地址找到服务器并访问gitLab
- (1)首先打开GitLab配置文件
java
sudo vim /etc/gitlab/gitlab.rb
- (2)进入VIM之后,在VIM中输入下列命令,查找修改的位置。
java
/"你要搜索的字符串"
按下回车后锁定到第一个查询结果,使用n查找下一个,N查找上一个。 找到修改位置后输入i进入修改状态(后为编辑状态,不详述)。
- (3)搜索关键词external_url,修改url为公网IP
java
external_url 'http://{"公网IP"}'
注意:若要实现在本地访问,则IP可在终端中使用ifconfig查看,如需从外部访问,就得设置为公网ip,其中,若url中使用了https,GitLab会自动重定向请求到加密站点,无需单独配置重定向
- (4)为了使上述配置生效,需要执行下述命令重动gitLab(非root用户需加sudo)
java
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
- (5)设置root用户密码,因首次登录gitLab需要使用
按顺序执行下面命令,分别为进入gitLab控制台、修改root用户密码:
- 进入gitLab控制台
java
sudo gitlab-rails console
- 再输入下面语句,修改root用户密码
java
user = User.where(id:1).first
user.password = {新密码}
user.password_confirmation = {新密码}
user.save!
exit
至此,就完成了gitLab的搭建,快去登录一下看看!
四、常用命令
命令 | 作用 |
---|---|
gitlab-ctl reconfigure | 修改gitlab.rb文件之后重新加载配置 |
gitlab-ctl status | 查看 GitLab 状态 |
gitlab-ctl start | 启动 GitLab |
gitlab-ctl stop | 停止 GitLab |
gitlab-ctl restart | 重启 GitLab |
gitlab-ctl tail | 查看所有日志 |
gitlab-ctl tail nginx/gitlab_acces.log | 查看 nginx 访问日志 |
gitlab-ctl tail postgresql | 查看postgresql日志 |
参考链接:
blog.csdn.net/qq_35844177... www.cnblogs.com/cheuhxg/p/1...