Gitlab安装

270 阅读2分钟

简介

  • 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_urlgitlab机子的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、删除项目、迁移项目、管理组成员