跳到主要内容

Gitlab 搭建

· 阅读需 4 分钟

什么是 GitLab

GitLab 是由 GitLabInc 开发,使用 MIT 许可证的基于网络的 Git 仓库管理工具,且具有 wiki 和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。

安装

本机环境: CentOS 8

安装依赖

yum install -y curl policycoreutils-python openssh-server perl

启用 OpenSSH

sudo systemctl enable sshd
sudo systemctl start sshd

关闭防火墙

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# 重启防火墙
sudo systemctl reload firewalld

安装 gitlab

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

GitLab 有 2 个发行版

  • gitlab-ee 企业版 (部分功能收费)
  • gitlab-ce 社区版(完全免费)

更新 gitlab-ce 软件

# 将 http://127.0.0.1:8077 替换成你的 GitLab 地址或者域名
sudo EXTERNAL_URL="http://127.0.0.1:8077" dnf install -y gitlab-ce
信息

如果你提供的 EXTERNAL_URL 带有 https,GitLab 会自动安装使用 Let’s Encrypt 提供的证书

如果你想使用自己的证书,后续也可以替换,或者只使用 http://(不带 s)

启动

初始化配置并启动软件

gitlab-ctl reconfigure
gitlab-ctl start

启动成功,打开你之前配置 ip 或者域名,就可以看到 GitLab 的登录页面了

首次登录默认会出现修改密码页面,默认用户名是 root

首次登录无修改密码页面

如果发现 GitLab 没有提示重置密码,直接要求输入账户密码

进入到 /opt/gitlab/bin 目录下 执行代码 gitlab-rails console production 如果运行出错则执行 gitlab-rails console -e production 等待出现控制界面,依次执行如下代码

u=User.where(id:1).first
u.password='12345678'
u.password_confirmation='12345678'
u.save!
exit

无需重启,网页可以正常登录

修改配置

修改 external_url 参数

# 配置文件默认位置
vim /etc/gitlab/gitlab.rb

搜索关键词

/external_url
external_url :'http://127.0.0.1:8077'
信息

如果要使用 nginx 代理则修改 nginx['listen_port'] = nil 这一行 修改后需执行 gitlab-ctl reconfiguregitlab-ctl start

其他常用命令


# 重新应用gitlab的配置
gitlab-ctl reconfigure

# 重启gitlab服务
gitlab-ctl restart

# 查看gitlab运行状态
gitlab-ctl status

#停止gitlab服务
gitlab-ctl stop

# 查看gitlab运行日志

设置 gitlab 语言

新版的 gitlab 已经支持了中文,无需再去找第三方汉化包

保存后刷新页面即可

gitlab-runner 实现自动化部署

Gitlab 内置 CI/CD 工具,通过 gitlab-runner 执行 GitLab 中的项目的根目录下创建的 .gitlab-ci.yml 脚本,实现流水线式的自动化操作

更多可查看 Gitlab-CI 前端自动化部署