目 录CONTENT

文章目录

Ubuntu安装和配置GitLab教程

GrantLi
2023-04-27 / 0 评论 / 0 点赞 / 1057 阅读 / 9639 字 / 正在检测是否收录...

在 Ubuntu 上安装 GitLab 可以帮助您轻松地搭建一个自己的 Git 代码托管平台。本教程将向您展示如何在 Ubuntu 上安装和配置 GitLab。

模式一:通过Docker安装

1. 设置环境

mkdir -p ~/gitlab
echo "export GITLAB_HOME=$HOME/gitlab" >> ~/.bashrc
source ~/.bashrc
Local location Container location Usage
$GITLAB_HOME/data /var/opt/gitlab For storing application data.
$GITLAB_HOME/logs /var/log/gitlab For storing logs.
$GITLAB_HOME/config /etc/gitlab For storing the GitLab configuration files.

2. 安装GitLab

步骤1:安装GitLab镜像
sudo docker run --detach \
  --publish 430:443 --publish 810:80 --publish 23:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  --shm-size 2048m \
  gitlab/gitlab-ee:latest

查看docker运行情况:

sudo docker logs -f gitlab

获取用户名 root 和密码

sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

说明: 密码文件将在 24 小时后的第一次重新配置运行中自动删除。

查看gitlab运行情况:

sudo docker logs -f gitlab
步骤2:配置GitLab

修改$GITLAB_HOME/config目录下的gitlab.rb配置文件:


gitlab_rails['time_zone'] = 'Asia/Shanghai'

#配置邮箱来源, 与展示的名称
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '您的qq邮箱地址'
gitlab_rails['gitlab_email_display_name'] = '您的邮箱显示名称'

#smtp配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "您的qq邮箱地址"
gitlab_rails['smtp_password'] = "您的授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

nginx['enable'] = true

重新启动docker:

sudo docker exec -it gitlab /bin/bash
gitlab-ctl reconfigure

gitlab-ctl start

可以访问 http://127.0.0.1:810

模式二:在本地安装

步骤 1:安装必要的软件包

在开始之前,确保您的 Ubuntu 系统已经安装了必要的软件包。您可以使用以下命令来安装:

sudo apt update
sudo apt install curl openssh-server ca-certificates postfix

在安装 postfix 期间,您将被提示选择邮件配置类型。请确保选择 Internet Site 并按照提示进行操作。
如果显示下面错误:

dpkg: 处理软件包 openssh-server (--configure)时出错:
 已安装 openssh-server 软件包 post-installation 脚本 子进程返回错误状态 10
在处理时有错误发生:
 openssh-server

运行下面命令:

# 卸载openssh-server
sudo apt-get remove openssh-server
# 删除openssh-server的残留配置文件
sudo rm /var/lib/dpkg/info/openssh-server.*

# 重新安装openssh-server
sudo apt-get install openssh-server

步骤 2:安装 GitLab

接下来,您需要添加 GitLab 的软件仓库并安装 GitLab。使用以下命令来添加 GitLab 的软件仓库:

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

然后,使用以下命令安装 GitLab:

sudo apt install gitlab-ce

这将下载并安装 GitLab CE(社区版)。
如果出现下面报错:

# apt-get install gitlab-ce
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gitlab-ce

需要配置国内加速镜像:

sudo vim /etc/apt/sources.list.d/gitlab_gitlab-ce.list

将OLD:

deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main
deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main

换成:

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main
deb-src https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main

步骤 3:配置 GitLab

在配置GitLab之前,您需要确保防火墙规则足够宽松以允许Web流量。如果您遵循先决条件中链接的指南,则将启用ufw防火墙,键入以下内容查看活动防火墙的当前状态:

sudo ufw status

/etc/services文件中提供了HTTP和HTTPS的端口映射协议,因此我们可以按名称允许该流量。如果您尚未启用OpenSSH流量,则现在也应该允许该流量:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

安装完成后,您需要对 GitLab 进行一些基本配置。首先,编辑 GitLab 的配置文件:

sudo gedit /etc/gitlab/gitlab.rb

找到 external_url 配置项,并将其设置为您服务器的 IP 地址或域名。例如:

## GitLab URL
external_url 'http://your-server-ip:625'
external_url 'https://your-server-ip:626'

gitlab_rails['time_zone'] = 'Asia/Shanghai'

#配置邮箱来源, 与展示的名称
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '您的qq邮箱地址'
gitlab_rails['gitlab_email_display_name'] = '您的邮箱显示名称'

#smtp配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "您的qq邮箱地址"
gitlab_rails['smtp_password'] = "您的授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true


nginx['enable'] = true

nginx['listen_port'] = 9091 // GitLab端口,默认80端口
unicorn['port'] = 9092 // 可不修改,默认监听8080端口

external_url ‘http://your-server-ip

保存并关闭文件。

接下来,重新配置 GitLab:

sudo gitlab-ctl reconfigure

sudo gitlab-ctl start

这将应用您所做的更改并重新配置 GitLab。

步骤 4:设置开机自启动

GitLab开机自动启动

设置GitLab开机自启动命令为

sudo systemctl enable gitlab-runsvdir.service

禁止GitLab开机自启动命令为

sudo systemctl disable gitlab-runsvdir.service

步骤 5:访问 GitLab

现在,您可以使用您的服务器 IP 地址或域名来访问 GitLab 的 Web 界面。在浏览器中输入以下 URL:

http://your-server-ip
您将被重定向到 GitLab 的登录页面。首次登录时,您需要创建一个管理员帐户。

完成上述步骤后,您已成功安装和配置了 GitLab。现在,您可以使用 GitLab 来托管您的代码,并与其他开发人员一起协作。

步骤6:gitlab默认储存目录

gitlab资料默认存储位置在/var/opt/gitlab/git-data/repositories,备份的位置可以更换,使用如下命令:(默认可以不修改,那么默认生成在/var/opt/gitlab/backups)
可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录

sudo gedit /etc/gitlab/gitlab.rb

找到gitlab_rails[‘backup_path’] = “/data/gitBackup” 取消注释并修改为自定义备份路径

# 重读配置
sudo gitlab-ctl reconfigure 
# 重启服务
sudo gitlab-ctl restart 

附录

常用命令 说明
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 日志

参考链接

1. GitLab Docker images

2. 极狐GitLab Docker 镜像

0

评论区