1.在Ubuntu上使用原生命令安装Gitlab
首先更新Linux系统中的软件包版本并安装必须的依赖
# 更新系统中软件包版本
sudo apt update
sudo apt upgrade -y
# 安装必须依赖
sudo apt install -y curl openssh-server ca-certificates tzdata perl
Gitlab提供了一键安装的脚本,用于自动配置apt
的Gitlab仓库和包管理器。
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
接着执行Gitlab的安装命令
# gitlab-ce社区版安装
sudo apt install gitlab-ce
# gitlab-ee企业版安装
sudo apt install gitlab-ee
安装完成之后会有如下的安装完成的提示信息
It looks like GitLab has not been configured yet; skipping the upgrade script.
*. *.
*** ***
***** *****
.****** *******
******** ********
,,,,,,,,,***********,,,,,,,,,
,,,,,,,,,,,*********,,,,,,,,,,,
.,,,,,,,,,,,*******,,,,,,,,,,,,
,,,,,,,,,*****,,,,,,,,,.
,,,,,,,****,,,,,,
.,,,***,,,,
,*,.
_______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
sudo gitlab-ctl reconfigure
For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
接着需要修改Gitlab配置文件vim /etc/gitlab/gitlab.rb
去修改Gitlab的启动端口号,找到配置external_url
配置行,自定义端口号,并在防火墙当中放开该端口号。参考配置如下:
external_url 'http://192.168.1.123:10203'
需要注意的是,这里的IP地址需要配置真实的IP地址,尽量不要配置localhost
,因为在后续添加远程仓库时,会用到这个地址,如果是localhost的话,那么远程仓库就得自己写IP地址,不能直接填写localhost。
在修改完成配置文件之后,接着我们需要重启Gitlab,重启Gitlab需要很久很久,基本上得好几分钟。
sudo gitlab-ctl reconfigure
刚启动Gitlab,可能会遇到502的情况,原因在于此时的Gitlab还没完全启动。
如果很久都没有启动完成,出现502的情况,需要查找日志解决,很可能是因为Puma出问题导致的,因为Gitlab的页面是通过Puma服务启动的,如果502的话,大概率是这个服务没启动完成。
我们通过cat /var/log/gitlab/puma/current
查找Puma的日志发现8080端口被占用的情况。
2024-09-02_17:37:28.17541 bundler: failed to load command: puma (/opt/gitlab/embedded/bin/puma)
2024-09-02_17:37:28.17605 /opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/puma-6.4.0/lib/puma/binder.rb:334:in `initialize': Address already in use - bind(2) for "127.0.0.1" port 8080 (Errno::EADDRINUSE)
我们使用命令sudo vim /etc/gitlab/gitlab.rb
去编辑Gitlab配置文件,搜索到puma的port配置的地方,需要将puma端口号修改一下,比如10204,默认端口号是8080,但是8080是很多WebServer常用的端口,容易发生冲突。
puma['port'] = 10204
在修改完成Puma的端口号之后,我们需要重启Gitlab服务器。
sudo gitlab-ctl reconfigure
重启完成Gitlab服务器之后,我们在日志当中重新搜索cat /var/log/gitlab/puma/current
,发现Puma在端口号10204成功启动。
2024-09-02_17:50:51.51490 {"timestamp":"2024-09-02T17:50:51.514Z","pid":742162,"message":"* Listening on http://127.0.0.1:10204"}
接着,我们就可以使用http://wanna1314y.top:10203
访问Gitlab成功访问。
使用下面的命令查看Gitlab的初始账号密码进行登录(默认用户名是root)。
cat /etc/gitlab/initial_root_password
2.使用Docker的方式安装Gitlab
使用下面的命令拉取Gitlab镜像:
sudo docker pull gitlab/gitlab-ce
使用下面的命令启动Gitlab
docker run -d -p 443:443 -p 8082:80 -p 222:22 --name gitlab --restart always -v /home/mappingdata/gitlab/config:/etc/gitlab -v /home/mappingdata/gitlab/logs:/var/log/gitlab -v /home/mappingdata/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
使用下面的命令查看Gitlab的初始账号密码(默认用户名是root)。
cat /etc/gitlab/initial_root_password