GitLab简记

安装

Ubuntu 16.04.6 LTS

1
2
3
4
5
6
7
8
9
# 查看端口占用情况,kill掉占用80的进程,否则会502
netstat -anptl

sudo apt-get install curl openssh-server ca-certificates postfix
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce

sudo gitlab-ctl reconfigure
sudo gitlab-ctl status

反向代理

由于gitlab安装在内网服务器上,外网无法访问,所以需要使用反向代理,配置如下:

内网GitLab的配置

1
sudo vi /etc/gitlab/gitlab.rb
  1. 修改GitLab的url
1
external_url 'http://kangyonggan.com:8888'
  1. 修改监听的端口
1
nginx['listen_port'] = 8888

内网穿透

1
ssh -C -f -N -g -R 8880:127.0.0.1:8888 root@kangyonggan.com

外网Nginx的配置

1
sudo vi /etc/nginx/sites-available/default

增加配置如下:

1
2
3
4
5
6
7
8
# gitlab
server {
listen 8888;

location / {
proxy_pass http://localhost:8880;
}
}

情景

假设公司有3个小组,分别为:

  • 网关组
  • 风控组

各小组成员分别为:

  • 网关组:张大(组长)、张二、张三。
  • 风控组:李大(组长)、李二、李三、李四。

各小组项目分别为:

  • 网关组:proj1、proj2。
  • 风控组:proj3、proj4。

管理员

使用管理员(root)登录之后,找到管理员区域(Admin Area)。

添加组

gitlab-01.png

New Group

gitlab-02.png
gitlab-03.png

禁用注册

如果开放注册,到时候将会看见五花大门的用户名和邮箱地址,为了统一,当有新人到来时统一分配。
gitlab-04.png
退出登录后将会发现没有注册界面了
gitlab-07.png

添加成员

gitlab-05.png
gitlab-06.png
注意:组长允许创建项目,但不允许创建组。
gitlab-14.png
普通成员既不允许创建项目,也不允许创建组。

gitlab-08.png

如果用户收不到重置密码的邮件,管理员可以对用户进行编辑,在编辑页修改密码
gitlab-12.png

分配用户到组

gitlab-09.png
gitlab-10.png
gitlab-11.png

组长

首次登录会要求修改密码
gitlab-13.png

创建项目

gitlab-16.png
gitlab-17.png

说明:developer角色不能push代码到master分支,通常master分支可以作为生产分支,仅组长可以push,开发者可以在其他分支开发,最后由组长合并代码到master分支。