什么是 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 reconfigure
和 gitlab-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 前端自动化部署