一、安装
安装前需要先安装一下git,可以看前面的文章。https://blog.csdn.net/qq_41475058/article/details/106923545
1、因为网络问题,所以国内用户建议使用清华大学的镜像源进行安装
vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
2、更新本地yum缓存然后安装
yum makecache
yum install gitlab-ce
3、配置端口
GitLab 的相关参数配置都存在 /etc/gitlab/gitlab.rb 文件里。自 GitLab 7.6 开始的新安装包, 已经默认将所有的参数写入到 /etc/gitlab/gitlab.rb配置文件中。
GitLab 默认使用 80 端口对外提供服务,因为 80 端口经常被其他服务占用,所以需要更改。打开 /etc/gitlab/gitlab.rb 配置文件,
- 修改 external_url ‘http://ip_address’ 为 external_url ‘http://ip_address:new-port’。
- 修改nginx[‘listen_port’]=“new-port”
external_url 'http://10.0.0.105:8888'
nginx['listen_port'] = 8888
然后重新编译配置
gitlab-ctl reconfigure
最后启动
sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab
sudo gitlab-ctl tail # 查看日志;
4、打开ip:端口,我这里是http://10.0.0.105:8888,需要设置密码后登陆,用户名为root,密码为自己设置的。
二、配置邮件服务
1、配置邮箱服务的用途
- 有合并请求时,邮件通知
- 账号注册时,邮件验证
- 修改密码时,通过邮件修改
2、开启qq邮箱smtp服务
开启QQ邮箱的smtp服务(不建议使用163邮箱,发几次之后,就不能发送)
设置–》账户–》smtp–》密保验证–》验证成功返回一串字符串,形状如(ausdixersybgcgid)
3、修改gitlab配置
vim /etc/gitlab/gitlab.rb
按/后输入smtp_enable,找到下面这一串文本,进行修改
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "838319771@qq.com"
gitlab_rails['smtp_password'] = "开通smtp时返回的字符"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
user['git_user_email'] = "838319771@qq.com"
gitlab_rails['gitlab_email_from'] = '838319771@qq.com'
重新加载配置
gitlab-ctl reconfigure
4、重启然后验证,按回车,测试发送。
gitlab-ctl restart
gitlab-rails console
Notify.test_email('838319771@qq.com','测试标题','hello').deliver_now
可以看到有收到邮件
三、gitlab的账号注册及分组
1、开启注册邮箱验证
admin area --》setting–》Sign-up restrictions–》勾选Send confirmation email on sign-up
可以看到当前只有一个管理员用户
在setting里设置发送邮件认证,选完往下拉保存
2、然后用其他浏览器打开,进行注册
配置的邮箱会收到确认邮件
确认后可以登录
3、在groups里选择新建分组
创建一个名为test的private类型的组
创建成功
4、添加组成员
这里选择wangxiaoyu,权限选择Maintainer
成员权限有下面五种
- Guest:可以创建issue、发表评论,不能读写版本库
- Reporter:可以克隆代码,不能提交
- Developer:可以克隆代码、开发、提交、push
- Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目
- Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员
邮箱里也可以收到通知邮件
5、分组内新建项目
创建一个group-test项目
项目添加成功
6、添加公钥
linux系统在用户的家目录的.ssh/id_rsa.pub,window则在在本地用户.ssh目录C:\Users\用户名.ssh。
ssh-keygen -t rsa -C "wangxiaoyu@qq.com"
cat /root/.ssh/id_rsa.pub
在setting里选择ssh keys进行添加
添加成功
7、拉取项目
在项目首页有相关的命令,可以将仓库clone下来,也可以将本地仓库推送上去
我这里先clone再推送
git clone git@10.0.0.105:test/group-test.git
cd group-test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
再刷新一下可以看到有刚才推送的文件了