1.安装GitLab
注意关闭网络防火墙和网络安全组
# 1.下载镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.10.5-ce.0.el7.x86_64.rpm
# 2.安装依赖
yum install -y policycoreutils openssh-server openssh-clients postfix policycoreutils-python
# 3.安装gitlab
rpm -ivh gitlab-ce-14.10.5-ce.0.el7.x86_64.rpm
# 4.修改配置文件
vim /etc/gitlab/gitlab.rb
# 修改配置文件访问路径
external_url 'http://192.168.93.129:9000'
# 5.重新配置
gitlab-ctl reconfigure
# 6.重启gitlab
gitlab-ctl restart
# 7.查看root的初始化密码
cat /etc/gitlab/initial_root_password
# 8.控制台修改root密码,也可以登录网页修改密码
# 打开控制台
gitlab-rails console
# 在打开的控制台中修改密码
user = User.where(id:1).first
user.password = 'Gen12345678'
user.password_confirmation = 'Gen12345678'
user.save!
2.配置GitLab邮件服务
-
配置邮箱服务的用途
- 有合并请求时邮件通知,账号注册时邮件验证,修改密码时通过邮件修改
-
配置步骤
-
开启QQ邮箱的SMTP服务:设置–>账号–>SMTP–>得到授权码
-
修改GitLab配置
vim /etc/gitlab/gitlab.rb
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "2452582323@qq.com" gitlab_rails['smtp_password'] = "授权码" gitlab_rails['smtp_domain'] = "qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['smtp_pool'] = false user['git_user_email'] = "2452582323@qq.com" gitlab_rails['gitlab_email_from'] = '2452582323@qq.com' gitlab_rails['smtp_openssl_verify_mode'] = 'none'
-
加载配置
gitlab-ctl reconfigure
-
-
测试邮件服务是否正常
gitlab-rails console Notify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now
3.GitLab的账号注册邮箱验证及其分组
-
修改root用户自己的邮箱
-
开启注册邮箱验证
-
创建组Groups
- 访问级别
- Private:只有组成员才能看到
- Internal:只要登录的用户就能看到
- Internal:所有人都能看到
- 添加组成员设置权限
- Guest:可以创建issue、发表评论,不能读写版本库
- Reporter:可以克隆代码,不能提交
- Developer:可以克隆代码、开发、提交、push
- Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目
- Owner:可以设置项目访问权限、删除项目、迁移项目、管理组成员
- 访问级别
4.gitlab分支和标签的保护
-
为什么要保护分支
-
保护特定的分支不被随便合并,以免影响相应的分支
-
操作:项目拥有者进入项目管理页面,无权限用户如需合并分支则发送请求合并(Merge request)消息,由有权限人Merge
-