Windows下配置Gitblit服务器
0x00 Gitblit简介
Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库。相当于 Git 的 Java 管理工具。
0x01 安装准备
Windows上使用Gitblit需要安装JDK,我的操作系统是:win7旗舰版 64位。因此,我使用了64位的JDK,jdk-8u131-windows-x64,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。
下载Gitblit:gitblit-1.8.0(http://gitblit.com/)
0x02安装与配置
Gitblit无需安装,解压后即可进行配置。
参考这篇文章:
使用gitblit在windows上部署git服务器
http://blog.csdn.net/x_studying/article/details/51494679
里面有详细的图文教程,下面我只把过程简单总结下:
(1)安装JAVA;
(2)配置JAVA环境变量:
变量名 | 新建/追加 | 值 | 备注 |
---|---|---|---|
JAVA_HOME | 新建 | C:\Program Files\Java\jdk1.8.0_131 | jdk目录 |
CLASSPATH | 新建 | .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar | |
PATH | 追加 | %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin |
(3)测试JAVA是否安装成功;
(4)解压gitblit;
(5)创建用于存储资料的文件夹,如:C:\Git\GitRepository
(6)配置gitblit\data\gitblit.properties文件:
字段名 | 值 |
---|---|
Git.repositoriesFolder | 存储资料文件夹 |
server.httpPort | 根据情况设定 |
server.httpBindInterface | 留空,绑定所有的网卡 |
server.redirectToHttpsPort | true:强制重定向至HTTPS端口 |
server.httpsPort | 443/8443 |
server.httpsBindInterface | 留空,绑定所有的网卡 |
(7)运行gitblit目录下的gitblit.cmd文件,即可通过浏览器访问。默认用户名密码都是admin:
(8)以Windows服务启动gitblit,只需要修改gitblit目录下installService.cmd文件参数即可实现。
序号 | 修改 |
---|---|
1 | 64位系统:SET ARCH=amd64 |
2 | SET CD=C:\Program Files\gitblit-1.8.0(gitblit的实际目录) |
3 | –StartParams=”“ |
(9)保存,以管理员身份运行installService.cmd,即可安装gitblit服务。在windows服务中找到该服务,启动。
然而,经过上述过程,我gitblit服务在我的环境中并不能启动。在/logs/gitblit-stderr.xxxx-xx-xx.log文件中提示:
“Commons Daemon procrun stderr initialized
java.lang.NoClassDefFoundError: Main”
然后,我就百度,找到了这篇文章:
把Gitblit变成Windows服务(http://www.th7.cn/Program/java/201609/962427.shtml)
文章大意是:
在/amd64/gitblit.exe其实不是真正的64位的gitblit程序,而是简单地将prunsrv.exe改名而来的,版本是1.0.10.0。
prunsrv.exe是个什么鬼?
http://commons.apache.org/proper/commons-daemon/procrun.html:
“Prunsrv is a service application for running applications as services. It can convert any application (not just Java applications) to run as a service. ”
Prunsrv是一个将应用程序作为服务运行的服务应用程序。可以将任何应用作为服务来运行。
那么,如何解决gitblit无法作为服务运行的问题呢?
很简单:
- 下载最新版的Prunsrv.exe(1.0.15.0,http://www.apache.org/dist/commons/daemon/binaries/windows/);
- 将commons-daemon-1.0.15-bin-windows.zip\amd64\prunsrv.exe复制到\gitblit-1.8.0\amd64文件夹下;
- 属性-兼容性,选择以管理员方式运行prunsvr.exe;
-将 installService.cmd和uninstallService.cmd中的gitblit.exe 改成 prunsvr.exe; - 再次运行installService.cmd,即可。
gitblit服务可以正常启动了。