简介
GitLab 是一个基于 Git 的平台,提供对 Git 存储库的远程访问,并通过创建用于管理代码的私有和公共存储库,有助于软件开发周期。
GitLab 支持不同类型的操作系统,例如:Windows,Ubuntu,Debian,CentOS 等。
安装
- apt 安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# 安装依赖
sudo apt update
sudo apt-get upgrade
sudo apt install ca-certificates curl openssh-server ca-certificates postfix
# 执行脚本
cd /tmp
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh |sudo bash
# 修改源
# sudo vim /etc/apt/sources.list.d/gitlab_gitlab-ce.list
# 修改成以下内容
# deb [signed-by=/usr/share/keyrings/gitlab_gitlab-ce-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main
# deb-src [signed-by=/usr/share/keyrings/gitlab_gitlab-ce-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main
# 更新
# sudo apt update
# 安装
sudo apt install gitlab-ce
|
- 调整防火墙规则
1
2
3
|
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
|
- 编辑 Gitlab 配置文件
1
|
vim /etc/gitlab/gitlab.rb
|
修改 external_url
1
|
external_url 'https://example.com' // 此处修改为您的域名或ip地址
|
- 开机启动和禁止
1
2
|
sudo systemctl enable gitlab-runsvdir.service
sudo systemctl disable gitlab-runsvdir.service
|
常用命令
常用命令 |
说明 |
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 日志 |
配置密码
在 Web 浏览器中访问 GitLab 服务器的域名:
1
|
https://example.com // 您external_url配置的地址
|
启动成功后,默认有个管理员账号
登录名:root
登录密码:初始密码在这个文件中/etc/gitlab/initial_root_password (可更改)
设置克隆地址
进入 vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
设置 gitlab:host
邮箱配置
- 开启 qq 邮箱的 POP3/SMTP 服务并保存好授权码
这一步在 qq 邮箱的设置 -> 账户中
点击开启按照提示步骤操作会获得相应的授权码
- 修改配置文件
1
|
sudo vim /etc/gitlab/gitlab.rb
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#配置邮箱来源, 与展示的名称
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
|
1
2
|
# 重新加载配置
sudo gitlab-ctl reconfigure
|
- 发送测试邮件
1
2
3
4
|
sudo gitlab-rails console
#进入控制台,然后发送邮件
Notify.test_email('测试邮箱地址', '邮件标题', '邮件正文').deliver_now
|
修改端口
1
|
sudo vim /etc/gitlab/gitlab.rb
|
1
2
|
nginx['listen_port'] = 9091 // GitLab端口,默认80端口
unicorn['port'] = 9092 // 可不修改,默认监听8080端口
|
1
|
sudo gitlab-ctl reconfigure
|
Git Pages 设置
1
|
sudo vim /etc/gitlab/gitlab.rb
|
1
2
3
4
5
|
gitlab_pages[‘enable’] = true; 开启 Pages 服务
pages_external_url ‘您的GitLab Pages域名地址'; 替换成你自己的域名
gitlab_pages[‘inplace_chroot’] = true; 以Docker container 方式运行的 Gitlab 必须开启此项
pages_nginx[‘enable’] = true; 开启 Pages 服务的 vhost,该项开启后将会在 /var/opt/gitlab/nginx/conf 目录下生成独立的名为 gitlab-pages.conf Nginx 配置文件。
gitlab_pages['access_control'] = true 开启 Pages 访问控制。
|
1
|
sudo gitlab-ctl reconfigure
|
参考
https://about.gitlab.com/install/#ubuntu
https://www.cnblogs.com/bymo/p/9046586.html
https://blog.csdn.net/OldDirverHelpMe/article/details/106536972
https://www.cnblogs.com/bymo/p/9046586.html
https://cloud.tencent.com/developer/article/1711802
https://www.webfunny.com/blog/post/207