如果你的公司使用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协议克隆仓库了,而且不再需要输入用户密码。

最新文章

  1. 第三天 vi编辑器使用和软件安装
  2. C# 属性、索引
  3. unity3d c#脚本定义Transform
  4. 20135220谈愈敏Blog7_可执行程序的装载
  5. ASP.NET Web.Config 读写辅助类
  6. RabbitMQ原理
  7. workerman是一个高性能的PHP socket服务器框架
  8. centos6.5 mysql配置整理
  9. 文件系统满的话(filesystem full),该如何处理。
  10. Mybatis入门程序
  11. pta
  12. oracle之触发器
  13. Spring MVC (Java),强制页面不缓存
  14. Got timeout reading communication packets解决方法
  15. spring+mybaits xml配置解析----转
  16. 【转】Django 图表制作(By Highcharts)
  17. Java 配置环境变量教程
  18. django-redis缓存
  19. 车牌,车架号,VIN码毫秒识别技术,汽车后市场的春天到来了
  20. 如何让QT程序以管理员权限运行(UAC)

热门文章

  1. linux驱动移植问题点
  2. 学生成绩管理系统【c】
  3. Problem H. Hotel in Ves Lagos
  4. 第六课作业——主从复制和sentinel高可用
  5. 让vs只启动自己想调试的站点
  6. Python菜鸟之路:Django 数据库操作进阶F和Q操作
  7. Jsp页面截取字符串
  8. Clustered and Secondary Indexes
  9. Red Gate系列 - SQL各种工具
  10. (4.11)sql server内存使用