如果你的公司使用git作为版本管理工具,那么对gitblit应该也不会陌生。gitblit是一个开源的git服务器java实现,一般情况下gitblit都是由别人已经搭建好你直接使用就行了,除非你就是那个搭建的人。在这呢,就来说说gitblit的搭建过程。
一、下载gitblit
下载地址:http://dl.bintray.com/gitblit/releases/gitblit-1.6.2.zip(以windows版为例),并将gitblit-1.6.2.zip解压
二、重要参数
以${baseFolder}代表gitblit根目录,在${baseFolder}\data目录下有一个名为gitblit.properties的配置文件,用于配置gitblit

  1. git.repositoriesFolder = ${baseFolder}/git      配置仓库目录,用于放置创建的仓库,默认路径为${baseFolder}/git
  2. git.acceptedPushTransports = HTTP HTTPS SSH     可使用的传输协议,默认支持HTTP,HTTPS,SSH,还有另外一种为GIT
  3. web.siteName = gitblit                          指定站点名称,此名称会作为网站页面标题显示
  4. server.httpPort = 80                            HTTP协议端口,默认为0,表示禁用此协议,为了安全性起见可禁用此协议
  5. server.httpsPort = 8443                         HTTPS协议端口,默认为8443,如果0,表示禁用此协议
  6. server.certificateAlias = localhost             证书别名,该别名是一主机名,使用该别名后只能通过该主机名进行访问Web页面
  7. server.storePassword = gitblit                  服务端KeyStore密码,该密码在生成服务器证书时需要使用

三、启动gitblit
执行${baseFolder}\gitblit.cmd脚本。

四、创建用户
服务器启动后,如果你没有禁用http协议,在浏览器中访问http://localhost/就能看到gitblit界面了。

gitblit中有个管理员账号,用户名与密码都为admin,登录后进入用户管理界面添加一个用户,比如为用户名与密码都为:zhangsan,邮箱为:zhangsan@163.com。

五、为用户分配权限
当新创建一个用户后,其没有任何仓库的任何权限。进入某用户(zhangsan)的用户管理界面的访问权限选项卡,可为用户分配仓库权限。例如分配了test仓库的RW权限,这样该用户就可以对test仓库进行读写了,也就是拉取与推送。仓库的创建很简单,只需要输入一个仓库名称,就会在git.repositoriesFolder配置目录中创建该仓库。


六、使用http协议克隆仓库
使用http协议克隆仓库,本人使用的git客户端为TortoiseGit,在复制好仓库的http协议地址后直接克隆就好了,并不需要TortoiseGit配置任何参数,只是在每拉取时需要输出用户密码,推送也是如此。如果不想每次麻烦地输出密码则可以使用https协议。

七、使用https协议访问Web界面
从上面的配置可以知道,https端口为8443,访问https://localhost:8443,浏览器会弹出警告,提示该站点不安全。

其原因是没有导入gitblit的根证书,根证书为${baseFolder}\data\certs\ca.cer,将ca.cer导入浏览器,IE为导入受信任的根证书颁发机构,FireFox为证书机构。导入后刷新应该就能正常访问了。但你把访问地址更换为https://127.0.0.1:8443后,你会发现又提示不安全了,这与server.certificateAlias配置项有关,别名使用的是哪一个就只能通过相应主机名进行访问。例如你的gitblit服务是放置在内网的,IP地址为192.168.0.181,若想要通过https://127.0.0.1:8443访问的话就必须生成一个别名为192.168.0.181的服务器证书,并且将server.certificateAlias值配置为192.168.0.181,至于如何生成服务器证书,gitblit已经提供了界面,将在生成用户证书时一起作说明。

八、生成用户与服务器证书
1.生成用户证书:使用https之前需要为用户生成证书,执行${baseFolder}\authority.cmd脚本,进入授权界面。

选择用户zhangsan后创建证书,当后最好补全右侧的证书信息,此时会需要输出证书到期时间,存储该用户证书的KeyStore密码,确定后还需要输出gitlbit的KeyStore密码,该密码为server.storePassword配置项的值,默认为gitblit,再确定后创建用户证书成功,生成的证书路径为${baseFolder}\data\certs\zhangsan\zhangsan.zip。
2.生成服务器证书
点击主界面的创建服务器SSL证书图标,输入主机名与到期时间,确定后即可生成服务器证书,注意要想使用该主机名访问Web界面,必须将server.certificateAlias值配置为该主机名。

九、使用https协议克隆仓库
在使用http协议时,每次访问仓库都需要输入用户密码,使用https协议可以省去此麻烦而且还更安全。生成用户证书后将其拷贝下来,在该zip包中已经包含了用户的私钥与证书,但私钥存于后缀为pem的文件中,是经过Base64编码的,不是TortoiseGit客户端需要的形式。所以需要根据pem文件生成私钥,很简单,只需要执行:openssl rsa -in path/to/zhangsan.pem -out path/to/zhangsan.key命令就行了。openssl工具需要自行安装。接下来就可以配置TortoiseGit客户端了。进行TortoiseGit的配置界面,点击Edit global .gitconfig按钮进行配置,具体配置如下:
[user]
    name = zhangsan
    email = zhangsan@163.com
[http]
  sslVerify = false
  sslCert = path/to/zhangsan.pem
  sslKey = path/to/zhangsan.key
保存后就可以通过https协议克隆仓库了,而且不再需要输入用户密码。

gitblit搭建git服务器的更多相关文章

  1. windows10 使用gitblit搭建git服务器

    今天在win10上使用gitblit搭建git服务器时被坑了下,因为安装的java9出现不兼容问题,果断卸载重装了jdk8.废话不多说直接进入正题吧: 第一章 前言 使用gitblit搭建git se ...

  2. Windows平台使用Gitblit搭建Git服务器教程

    Windows平台使用Gitblit搭建Git服务器图文教程 Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭 ...

  3. Windows 使用 Gitblit 搭建 Git 服务器

    吐槽 Windows 安装 Git 那真是各种问题层出不穷,试过N种方法,反反复复不知道装了多少遍,然后又卸载.最后使用了Gitblit搭建Git服务器,虽然也遇到一些问题,但是都解决了.这个软件其实 ...

  4. Windows平台使用Gitblit搭建Git服务器图文教程

    Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范 ...

  5. 使用gitblit搭建git服务器

    前言 一直在学习新技术,我想都整理到博客上.公司还在坚持用svn,之前学过git都快要忘记了,此篇博客记录搭建基于gitblit的git服务器.当然直接使用linux也可以,不过我不是很熟悉,考虑到我 ...

  6. 源码管理工具Git-windows平台使用Gitblit搭建Git服务器

    原文地址:https://blog.csdn.net/smellmine/article/details/52139299 搭建Git服务器,请参照上面链接. 注意: 第十二步:以Windows Se ...

  7. 在Windows平台下使用Gitblit搭建Git服务器图文解说

    Windows平台下Git服务器搭建 一.java环境变量的设置 下载jdk并配置jdk的环境变量,JAVA_HOME,CLASSPATH以及PATH,最后在DOS窗口输入java -version检 ...

  8. windows环境下利用Gitblit搭建Git服务器并实现自动部署Web站点目录

    Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit ...

  9. TortoiseGit - Win7使用Gitblit搭建Git服务器教程

    第一步:下载Java并且安装 第二步:配置Java环境变量环境变量 --> 系统变量1新建:变量名:JAVA_HOME变量值:D:\Program Files (x86)\Java\jdk1.6 ...

随机推荐

  1. hdu 1816(二分+2-sat)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1816 思路:首先将每把钥匙i拆成两个点i和i+2n,分别表示选与不选,对于被分成n对的钥匙,由于只能选 ...

  2. Docker学习(2Docker基本命令 )

    1.首先我们需要明确在docker中需要了解的一些基础知识 Docker虚拟化有三个概念需要理解,分别镜像.容器.仓库. 1) 镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个 ...

  3. boost::lockfree::stack

    #include <boost/thread/thread.hpp> #include <boost/lockfree/stack.hpp> #include <iost ...

  4. iOS学习笔记(三)——iOS系统架构

    iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch l ...

  5. 【BZOJ2793】[Poi2012]Vouchers 调和级数

    [BZOJ2793][Poi2012]Vouchers Description 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个.正整 ...

  6. websocket Session 不支持序列化

    这是我本来的打算,把socket session 进行序列化分布式存储! 呵呵   然而现实很残酷,这b东西不支持序列化! 解决办法:

  7. Token bucket

    w https://en.wikipedia.org/wiki/Token_bucket

  8. GBK和UTF-8文字编码的区别

    UTF-8是一种国际化标准的文字编码,我们已知Windows系统程序已经将最初的UTF-8转向Unicode,而GBK的存在是为了中国国情而创造的,不过GBK也将伴随着中文字符的一直流传下去. GBK ...

  9. GDI+绘制图形和画刷填充图形

    GDI+可以再Windows窗体应用程序中以编程方式绘制图形等. 可以在VS里新建项目-Windows窗体应用程序-建一个窗体.首先引入命名空间using System.Drawing.Imaging ...

  10. 0102-使用 API 网关构建微服务

    一.移动客户端如何访问这些服务 1.1.客户端与微服务直接通信[很少使用] 从理论上讲,客户端可以直接向每个微服务发送请求.每个微服务都有一个公开的端点(https ://.api.company.n ...