简介
- gitlab是什么 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 基础功能免费,高级功能收费
- 为什么要使用gitlab 基础功能开源,可自行搭建 可以进行权限控制,使得代码对部分人可见 gitlab使用方便,非常适合企业内部使用
Centos安装gitlab-ce(免费版)
- 在防火墙里开放http跟ssh端口
yum install lokkit
yum install curl openssh-server openssh-clients postfix cronie -y service postfix start
chkconfig postfix on
lokkit -s http -s ssh
- 添加gitlab仓库,并安装
curl -sS [http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh](http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh) | sudo bash
sudo yum install gitlab-ce
- 配置防火墙
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT service iptables restart
Ubuntu安装gitlab-ce(免费版)
- 安装和配置必要的依赖项
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
sudo apt-get install -y postfix
- 添加GitLab软件包存储库。
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- 安装软件包
sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ce
配置gitlab
vim /etc/gitlab/gitlab.rb
修改external_url为gitlab机子的ip+要使用的端口 如:http://localhost:8099
修改nginx['listen_port'] = 8099
重新配置gitlab并重启
gitlab-ctl reconfigure
gitlab-ctl restart
注意:如果服务器内存小于等于2GB会直接卡死,可配置swap虚拟内存解决这个问题
# 修改/etc/gitlab/gitlab.rb文件
unicorn['worker_processes'] = 2
配置gitlab邮件服务
- 配置邮箱服务的用途 有合并请求时,邮件通知 账号注册时,邮件验证 修改密码时,通过邮件修改
- 配置步骤 开启QQ邮箱的smtp服务(不建议使用163邮箱,发几次之后,就不能发送) 设置->账户->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'] = "xxx@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'] = "xxx@qq.com"
gitlab_rails['gitlab_email_from'] = 'xxx@qq.com'
gitlab-ctl reconfigure
- 测试邮件服务是否正常
gitlab-rails console
Notify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now
回车
gitlab的账号注册及分组
- 开启邮箱验证 admin area ->setting->Sign-up restrictions->勾选Send confirmation email on sign-up
- 创建组:首页->create a group 访问级别 Private:只有组成员才能看到 Internal:只要登录的用户就能看到 Public:所有人都能看到
- 权限 Guest:可以创建issue、发表评论,不能读写版本库 Reporter:可以克隆代码,不能提交 Developer:可以克隆代码、开发、提交、push Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目 Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员