gitlib
gitlib是什么
gitlib一般用于公司托管代码的平台,免费使用的并且部署方便,支持代码推送的权限管理,邮件发送
gitlib的部署
1、配置yum源
vim /etc/yum.repos.d/gitlab-ce.repo
添加以下内容:
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
2、更新本地yum缓存
sudo yum makecache
3、安装GitLab社区版
sudo yum install gitlab-ce #自动安装最新版
sudo yum install gitlab-ce-13.6.4 #安装指定版本
4、更新配置信息
1 修改内存配置
如果不修改内存配置直接启动某些版本的gitlib会轻松沾满32G内存,减少内存占用量,强烈建议4G内存以上部署gitlib
我使用1G内存启动gitlib电脑直接崩掉
sudo gitlab-ctl status
-bash: fork: Cannot allocate memory(无法分配内存!)
减少进程数
修改配置文件/etc/gitlab/gitlab.rb中的worker_processes:
unicorn[‘work_processes’] = 2
默认是被注释掉的,官方建议该值是CPU核心数加一,可以提高服务器的响应速度,如果内存只有4G,或者服务器上有其它业务,就不要改了,以免内存不足。另外,这个参数最小值是2,设为1,服务器可能会卡死。
减少数据库缓存
postgresql[‘shared_buffers’] = “256MB”
默认为256MB,可适当改小
减少数据库并发数
postgresql[‘max_worker_processes’] = 8
默认为8,可适当改小
减少sidekiq并发数
sidekiq[‘concurrency’] = 25
默认是25,可适当改小
2 修改端口配置
如果不修改端口立刻启动会占用80端口
修改配置
vim /etc/gitlab/gitlab.rb
修改为本机ip和端口 external_url 'http://192.168.56.101:8888'
修改nginx['listen_port'] = 8888
开启防火墙端口
vim /etc/sysconfig/iptables
加入下面信息
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
重新启动防火墙
service iptables restart
3 修改邮箱配置
1开启QQ邮箱的smtp服务
设置–》账户–》smtp–》密保验证–》验证成功返回一串字符串-》存储这段字符串
(不建议使用163邮箱,发几次之后,就不能发送)
2修改配置
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'] = "2905928567@qq.com"
gitlab_rails['smtp_password'] = "开通smtp时返回的字符(这里不是邮箱密码 而是开通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'] = "2905928567@qq.com"
gitlab_rails['gitlab_email_from'] = '2905928567@qq.com'
测试邮件服务是否正常
gitlab-rails console
Notify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now
按回车,测试发送。
5、刷新配置文件
gitlab-ctl reconfigure
6、开启gitlib
gitlab-ctl start
gitlab-ctl restart
gitlab-ctl stop
`
gitlib的使用
第一个人注册,使用root用户输入登录密码
注册时开启注册邮箱验证
注册时要求管理员验证
admin area --》setting–》Sign-up restrictions–》勾选Send confirmation email on sign-up
创建一个组
访问级别
Private
:只有组成员才能看到
Internal
:只要登录的用户就能看到
Public
:所有人都能看到
开发人员角色
Guest
:可以创建issue、发表评论,不能读写版本库
Reporter
:可以克隆代码,不能提交
Developer
:可以克隆代码、开发、提交、push
Master
:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目
Owner
:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员