文档章节

gitblit搭建git服务器

star496481
 star496481
发布于 2016/05/24 00:28
字数 1391
阅读 183
收藏 0

如果你的公司使用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

 

git.repositoriesFolder = ${baseFolder}/git		配置仓库目录,用于放置创建的仓库,默认路径为${baseFolder}/git
git.acceptedPushTransports = HTTP HTTPS SSH		可使用的传输协议,默认支持HTTP,HTTPS,SSH,还有另外一种为GIT
web.siteName = gitblit							指定站点名称,此名称会作为网站页面标题显示
server.httpPort = 80							HTTP协议端口,默认为0,表示禁用此协议,为了安全性起见可禁用此协议
server.httpsPort = 8443							HTTPS协议端口,默认为8443,如果0,表示禁用此协议
server.certificateAlias = localhost				证书别名,该别名是一主机名,使用该别名后只能通过该主机名进行访问Web页面
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协议克隆仓库了,而且不再需要输入用户密码。

本文转载自:http://blog.csdn.net/xtayfjpk/article/details/45669335

star496481
粉丝 1
博文 36
码字总数 66
作品 0
广州
私信 提问
Windows环境下的搭建Git服务的搭建和AS的配置

一、Windows环境下搭建Git服务 Git没有客户端服务器端的概念,但是要共享git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,...

星泉毅
2017/08/23
0
0
Windows环境下用Gitblit搭建git服务器

版权声明:本文为Zhang Phil原创文章,请不要转载! https://blog.csdn.net/zhangphil/article/details/89712275 Windows环境下用Gitblit搭建git服务器 一,下载Gitblit。下载地址:http://...

zhangphil
05/04
0
0
Windows平台下搭建Git服务器的图文教程

Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在windows下的开发要把自己...

MKChan
2018/07/18
0
0
快速搭建一个开源的Git服务器

有的时候,我们需要搭建一个内部的Git服务器,作为自己的研究或者暂时作项目代码的存放地,这个时候,我们可以考虑使用一个Gitblit,非常方便和好用。具体的搭建步骤如下: 1.下载安装文件 ...

chancein007
2017/08/28
0
0
Windows 7 下使用gitblit + git 搭建小组内文件版本控制环境

一、GitBlit下载及配置 使用前先看下GitBlit的百科介绍,很简洁:需要java运行环境;是一个纯 Java 库用来管理、查看和处理Git 资料库。即一个基于Java的分布式版本控制系统。 1、GitBlit的下...

shzwork
05/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

资深架构师带你从JVM层面了解线程的启动和停止

文章简介 这一篇主要围绕线程状态控制相关的操作分析线程的原理,比如线程的中断,线程的通信等,内容比较多,可能会分两篇文章 内容导航 线程的启动的实现原理 线程停止的实现原理分析 为什...

Java-飞鱼
12分钟前
0
0
uditor上传图片

注意图片的配置路径 "imageUrlPrefix": "/blog", //blog代表我的项目名 "imagePathFormat": "/{rand:6}", 图片的名称6位随机数组成,每个人的不一样,要看自己的存在哪 查controller.jsp ......

南桥北木
19分钟前
0
0
Java线程安全策略与多线程并发最佳实践

线程安全策略 不可变对象 不可变对象(Immutable Objects)是指对象一旦被创建它的状态(对象的数据,也即对象属性值)就不能改变,任何对它的改变都应该产生一个新的对象。 不可变对象需要满足...

Java干货分享
26分钟前
2
0
阿里最强Dubbo面试28题答案详解:核心功能+服务治理+架构设计等

1.Dubbo是什么? Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。 RPC 指的是远程调用协议,也就是说两...

别打我会飞
28分钟前
4
0
在优麒麟中运行英雄联盟LOL

sudo apt install wine-stable sudo add-apt-repository ppa:lutris-team/lutris sudo apt install lutris 在lutris官网的game分类里找到英雄联盟这个游戏,然后进去那个页面, https://lutr......

gugudu
34分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部