Gitlab环境搭建
- 安装Gitlab
- 配置邮箱
安装Gitlab
- 设置环境变量
export GITLAB_HOME=/srv/gitlab
- 编写docker-compose.yml
[root@origin ~]# mkdir -p /opt/docker-compose/gitlab
[root@origin ~]# vim /opt/docker-compose/gitlab/docker-compose.yml
version: '3.8'
services:
gitlab:
hostname: 'abc.efg.xyz'
image: 'gitlab/gitlab-ce:14.2.4-ce.0'
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://abc.efg.xyz:9080'
gitlab_rails['gitlab_shell_ssh_port'] = 9022
gitlab_rails['time_zone'] = 'Asia/Shanghai'
ports:
- '9080:9080'
- '9443:443'
- '9022:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
- 启动Gitlab
[root@origin gitlab]# docker-compose up -d
- 启动成功
【注意】新版本的Gitlab,在首次登录时不会提示设置root密码了,初始密码在 /etc/gitlab/initial_root_password,根据映射规则,该文件映射到宿主机上的 /srv/gitlab/config/initial_root_password
[root@origin ~]# cat /srv/gitlab/config/initial_root_password
# WARNING: This value is valid only in the following conditions
# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
# 2. Password hasn't been changed manually, either via UI or via command line.
#
# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
Password: 1fBcwYj2Qbf5yyZubJJj51KH2T3BPvl02MoBAOiyiWc=
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
- 登录root用户
登录成功,建议先设置密码。 - HTTP导出项目
第一次访问仓库,需输入密码,可以选择将密码缓存到本地,否则每次操作都需要密码
成功导出 - SSH 免密导出项目
- 生成密钥对
$ ssh-keygen.exe -t rsa -C "kal" -f kal_id_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in kal_id_rsa.
Your public key has been saved in kal_id_rsa.pub.
The key fingerprint is:
SHA256:3f2nJxYnGOwDfjfqXptsVIO2aK6q1bchndVBUYEslk0 kal
The key's randomart image is:
+---[RSA 2048]----+
| =E.+=|
| + +. |
| ... .. |
| ...o+..o|
| S..o++oo.|
| . ooB.*..|
| . oo* =.=o|
| . o.+o++o|
| ......+oo=o |
+----[SHA256]-----+
- 仓库配置公钥
- 测试ssh连接
$ ssh -T -p 9022 git@abc.efg.xyz
Welcome to GitLab, @root!
- ssh导出项目
配置邮箱
Gitlab配置邮箱是一个比较常用的配置项,这里做个简单的介绍,其他配置项可参考官方文档
这里以QQ邮箱为例
Gitlab大部分配置都在 /etc/gitlab/gitlab.rb 这个文件里面
基于前面的映射规则,可以在宿主机中找到这个文件
/srv/gitlab/config/gitlab.rb
- 修改配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxx@qq.com"
gitlab_rails['smtp_password'] = "密码或授权码"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxxx@qq.com'
gitlab_rails['smtp_domain'] = "mail.qq.com"
- 重新配置Gitlab
这里建议进容器内执行 gitlab-ctl reconfigure ,如果重启容器的话会比较耽搁时间。。。 - 设置管理员邮箱
设置过后,不出意外邮箱会收到一封邮件,用于确认这个邮箱。 - 确认后,可以看到这个这个邮箱已经变成已验证的状态
接下来就可以设置系统的邮箱了 - 为了测试邮件通知,我们还需要注册一个用户,这里直接使用管理员添加一个账户,用户直接去邮箱认证即可
将用户邮箱添加至通知列表 - 执行push操作
成功收到邮件 - 其他常用配置
关闭 Gravatar 头像
关闭用户注册