如果你的公司使用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. Unity与Android交互实现

    主要参考了这篇文章: Unity与Android交互方案优化版 链接:https://www.jianshu.com/p/86b275da600e 自己的实现(unity获取内存和温度): andro ...

  2. Win API:之GetCurrentThread、GetCurrentThreadId、GetCurrentProcess、GetCurrentProcessId

    Win API:之GetCurrentThread.GetCurrentThreadId.GetCurrentProcess.GetCurrentProcessId {返回当前线程的虚拟句柄} Get ...

  3. python3----splitlines

    Python中的splitlines用来分割行.当传入的参数为True时,表示保留换行符 \n.通过下面的例子就很明白了: mulLine = """Hello!!! W ...

  4. Atitit.软件仪表盘(4)--db数据库子系统-监測

    Atitit.软件仪表盘(4)--db数据库子系统-监測 连接数::: 死锁表列表:死锁基础列表(近期几条记录,时间,sql等) 3.对server进行监控.获取CUP.I/O使用情况   4.对数据 ...

  5. shell编程实战总结

    最近复习一下shell,顺便高级进阶一下,之前写脚本能简单尽量简单来,发现好多高深的东西还是没有理解,因此在这里记录一下整个过程并做相应的总结. 通过上代码的方式来介绍,后续可能会调整相应的排版 1. ...

  6. Python 文件操作、异常

    windows默认是gbk编码,又称cp936,汉字占2个字节. utf-8被称为万国码,这个编码下,汉字占3个字节. ASCII也是一种编码. 一.文件操作 最基本的文件打开: f = open(& ...

  7. 服务器http请求https服务时报错解决方案

    问题一. 问题二. java.security.KeyException 解决: Java.security.KeyException的解决 程序调用环信的接口时,出现此异常. 环境:centos , ...

  8. java中的四种权限

    1.私有权限(private) private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类).被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用. ...

  9. General Decimal Arithmetic 浮点算法

    General Decimal Arithmetic http://speleotrove.com/decimal/ General Decimal Arithmetic [ FAQ | Decima ...

  10. MSVCRT.DLL Console I/O Bug(setlocale(LC_CTYPE, "Chinese_China.936"))

    I have been quite annoyed by a Windows bug that causes a huge number of open-source command-line too ...