YUM安装

  1. # 安装gitlab包和依赖
  2. yum -y install policycoreutils-python
  3. rpm -Uvh http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.2.5-ce.0.el7.x86_64.rpm
  4. # 安装Postfix以发送通知电子邮件
  5. yum -y install postfix
  6. systemctl enable postfix
  7. systemctl start postfix

编辑配置文件/etc/gitlab/gitlab.rbexternal_url字段

  1. # external_url 'https://gitlab.example.com' #配置服务器ip和端口
  2. external_url 10.211.55.5

搭建部署gitlab

  1. # 初始化GitLab
  2. gitlab-ctl reconfigure
  3. # 重启GitLab
  4. gitlab-ctl restart
  5. # 开机启动
  6. systemctl enable gitlab-runsvdir

网页访问,然后配置一个密码 1qaz@WSX,然后登陆

Gitlab安装 - 图1

:::info 网页遇到502报错的原因 :::

  • Gitlab刚启动很慢,要等待一会(基本百分百的原因)
  • 内存至少要4G
  • 端口被占用
  • 权限:chmod -R 755 /var/log/gitlab

开始登陆,账号root,密码1qaz@WSX

Gitlab安装 - 图2

修改语言更好的玩转GitLab,但是有些地方汉化还是存在问题

右上角头像 -> settings -> Profile -> Preferred language

Gitlab安装 - 图3

查看版本号

  1. # 方法一
  2. cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
  3. # 方法二
  4. gitlab-rake gitlab:env:info

GitLab的组成

Gitlab服务构成:

  • nginx:静态web服务器
  • gitlab-workhorse:轻量级的反向代理服务器
  • logrotate:日志文件管理工具
  • postgresql:数据库
  • redis:缓存数据库
  • sidekiq:用于在后台执行队列任务(异步执行)
  • unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。(Ruby Web Server,主要使用Ruby编写)

Gitlab基本使用

修改端口

GitLab如果默认端口号和别的服务冲突怎么办,所以我们要修改端口。

1.停止服务

  1. gitlab-ctl stop

2.修改/etc/gitlab/gitlab.rb

  1. #unicorn['port'] = 8080 修改 8070 默认是注释的去掉前面的#
  2. unicorn['port'] = 8070
  3. #nginx['listen_port'] = nil 修改 8090 默认是注释的去掉前面的#
  4. nginx['listen_port'] = 8090

3.修改/var/opt/gitlab/gitlab-rails/etc/unicorn.rb

  1. #listen "127.0.0.1:8080", :tcp_nopush => true
  2. listen "127.0.0.1:8070", :tcp_nopush => true
  3. 修改默认的gitlab nginxweb服务80 /var/opt/gitlab/nginx/conf/gitlab-http.conf

4.修改/var/opt/gitlab/nginx/conf/gitlab-http.conf

  1. #listen *:80;
  2. listen *:8090;

5.重新配置gitlab

  1. gitlab-ctl reconfigure

6.重新启动gitlab

  1. gitlab-ctl restart

7.网页访问ip:8090

Gitlab权限管理

Gitlab用户在组中有五种权限:GuestReporterDeveloperMasterOwner

  • Guest:可以创建issue、发表评论,不能读写版本库
  • Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
  • Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限
  • Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
  • Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限

Gitlab中的组和项目有三种访问权限:Private、Internal、Public

  • Private:只有组成员才能看到
  • Internal:只要登录的用户就能看到,开源项目和组设置的是Internal
  • Public:所有人都能看到

GitLab命令

  1. #开机启动gitlab
  2. sudo systemctl enable gitlab-runsvdir.service
  3. # 禁止开机启动
  4. sudo systemctl disable gitlab-runsvdir.service
  5. #启动gitlab
  6. gitlab-ctl start

瓦雀