Linux下的gitblit服务器搭建(二)

前言

接上次搭建git服务器,趁着有时间,把下篇也更新了,gitblit个人感觉无论是使用还是功能都比git要友好不少,而且是纯java框架下的软件,有操作界面(虽然很丑)就很舒服,日后更换服务器迁移起来也简单,平时使用也没有啥问题,比较适合小团队使用。

gitblit安装部署

首先呢,既然是纯java的服务,那java环境肯定少不了,部署了java环境才能开始第一步。

  1. 下载gitblit包
    官网地址:http://www.gitblit.com/
    我这里挂梯下载了一份1.9.1版本的,链接如下:
    链接:https://pan.baidu.com/s/1l_2v4vRjnwmbSU4EFaPdBQ
    提取码:8jk2

  2. 解压安装包,重命名为gitblit
    命令:
    tar -zvxf gitblit-1.9.1.tar.gz
    mv gitblit-1.9.1 gitblit

  3. 安装到/usr/local/
    mv gitblit /usr/local/
    cd /usr/local/gitblit/
    4.配置Gitblit服务
    进入 /usr/local/gitblit/data文件夹中添加http和https配置
    Linux下的gitblit服务器搭建(二)_第1张图片
    修改service-centos.sh中的参数路径,改为自己gitblit所在的目录路径

GITBLIT_PATH=/usr/local/gitblit
GITBLIT_BASE_FOLDER=/usr/local/gitblit/data
GITBLIT_HTTP_PORT=7070
GITBLIT_HTTPS_PORT=7071
GITBLIT_LOG=/usr/local/gitblit/gitblit.log

在这里插入图片描述
(可选)配置为service启动。目前来说service-centos.sh脚本里的第一行配置服务的代码已经失效了,原因是CentOS7操作系统中,已经抛弃service和chkconfig命令了,虽然有些服务如network还是可以操作,但是官网建议使用systemctl代替service和chkconfig。当然你可以自己修改把gitblit添加到服务中,也可以忽略此步,使用的时候找到当前文件夹。。
cd /usr/local/gitblit/
cp service-centos.sh /etc/init.d/gitblit

  1. 开启gitblit服务
    进入路径
    cd /usr/local/gitblit/
    java -jar gitblit.jar --baseFolder data

    ./gitblit.sh
    Linux下的gitblit服务器搭建(二)_第2张图片
    (可选)后台启动
    nohup ./gitblit.sh &
    此时在本地访问localhost:7070就可以进入界面了,局域网里访问ip:7070;如果是在云服务器上的话,你可能还要开放端口http和https权限和防火墙
    Linux下的gitblit服务器搭建(二)_第3张图片

  2. 关闭服务
    在这里插入图片描述

gitblit使用

用浏览器打开网页后,需要登录用户,默认的管理员账号是admin,密码admin,登进去后为了安全可以修改密码

  1. 创建用户
    头像下选择用户
    Linux下的gitblit服务器搭建(二)_第4张图片
    填写一些必要信息后点击保存就可以了
    Linux下的gitblit服务器搭建(二)_第5张图片

  2. 创建团队
    Linux下的gitblit服务器搭建(二)_第6张图片

    Linux下的gitblit服务器搭建(二)_第7张图片

  3. 创建版本库
    Linux下的gitblit服务器搭建(二)_第8张图片

    Linux下的gitblit服务器搭建(二)_第9张图片

  4. 把项目分配给别人
    先分配组再把项目分配给组中的成员
    Linux下的gitblit服务器搭建(二)_第10张图片

gitblit权限问题

创建用户团队版本库都是些可以摸索的操作,但这个权限问题,我迷雾楞登的,摸索老半天。

大致是这样的,首先admin用户拥有最高权限,在创建用户的时候可以分配gitblit服务器管理权限给新用户,如果用户拥有这个权限,那么他会拥有所有的操作权限,等同于admin,(包括删除不属于自己创建的版本库,新建编辑删除团队、用户的权限,所以说这个权限不要乱分配啊)。而且这个权限只可以在创建用户的时候分配,一旦被分配了,admin也无法修改(如果你分配错了,只能删掉此用户重新创建一个,汗!)。但是吧,如果你创建的时候没分配,编辑的时候却可以再分配,很好理解嘛,升职了成管理员了,再给你开个权限,以后总不能再把这个权限要回去吧。
在这里插入图片描述
在这里插入图片描述

其次是版本库的权限,最高级的权限为拥有权,就是被selected的用户,这个很好理解,这些用户直接拥有这个版本库,那他就拥有对这个版本库的生杀大权,无论是编辑还是删除。
Linux下的gitblit服务器搭建(二)_第11张图片
版本库在还有一个基础权限设置

  1. 限制推送的话就是所有人都可以查看和克隆和推送此版本库,但是编辑和删除权只在拥有上面说的有gitblit服务器管理权限的用户和拥有此版本库的用户,当选择此选项时,无法分配团队权限和个人权限。简而言之就是,选了这个之后,你要么是拥有者(可推送克隆,编辑删除),要么是使用者(可推送克隆,不可编辑删除)。
    Linux下的gitblit服务器搭建(二)_第12张图片
    Linux下的gitblit服务器搭建(二)_第13张图片
  2. 第二个限制推送的话,就是除了拥有者之外,你可以给使用者加权限了,可以限制使用者的权限了,你可以选择他是否可以提交更改,当然这个使用者权限的话,是用户分配的权限会覆盖掉团队的权限。可以给团队里的人一个统一权限,具体到个人可以有所不同的意思
  3. 第三个限制克隆和推送的话,就是多加一条限制,你是否可以克隆,仿佛是一个路人,只能看,不能下载。
  4. 第四个限制查看克隆和推送的话,就很有意思了,就是只有有权限的人,才可以看到这个版本库,否则你连路人都算不上了,你是看不到这个版本库的,被屏蔽掉了。这个用的就比较多了,多个项目,跟你没关系的项目,不需要你一一知道吧,如果需要你了,可以直接在用户权限里加

总结

权限一开始不会用,稀里糊涂的发现,怎么权限没有隔离呢,后来才发现乱分配了gitblit服务器管理权限。分清了管理员权限,拥有者权限,以及版本库的限制访问就比较明了了,其他的各种功能用不太到也有待探索了。

你可能感兴趣的:(linux,服务器,运维,git)