把Gitblit变成Windows服务

独自空忆成欢 提交于 2019-12-02 22:06:45

第一步:试错

下载完Gitblit GO 1.8.0 for Windows 解压后运行installService.cmd 华丽的看到一串信息 输入图片说明 然后,再看看服务列表:木有小gg~~

第二步:解剖

打开installService.cmd文件,无视那些@REM 可以看到

SET ARCH=amd64

"%CD%\%ARCH%\gitblit.exe"  //IS//gitblit
		 --DisplayName="gitblit" 
		 --Description="a pure Java Git solution" 
		 --Startup=auto 
		 --LogPath="%CD%\logs" 
		 --LogLevel=INFO 
		 --LogPrefix=gitblit 
		 --StdOutput=auto 
		 --StdError=auto
		 --StartPath="%CD%" 
		 --StartClass=org.moxie.MxLauncher 
		 --StartMethod=main 
		 --StartParams="--storePassword;gitblit;--baseFolder;%CD%\data" 
		 --StartMode=jvm 
		 --StopPath="%CD%"
		 --StopClass=org.moxie.MxLauncher 
		 --StopMethod=main 
		 --StopParams="--stop;--baseFolder;%CD%\data" 
		 --StopMode=jvm 
		 --Classpath="%CD%\gitblit.jar" 
		 --Jvm=auto 
		 --JvmMx=1024

这样一串命令行文件,显然最核心的是 "%CD%%ARCH%\gitblit.exe" 因为ARCH=amd64 所以它是指gitblit的目录在amd64子目录中的gitblit.exe文件。似乎它罢工了

仔细盘查户口发现:原来它是黑户口,由一个叫prunsvr的程序冒充的! 输入图片说明

第三步:重构

到户口所在地查了一下,这货是一个叫Apache Commons Daemon的项目就是把java注册成Windows服务的工具,其中tomcat的windows版就是它的杰作。并且发现新的一版是1.0.15,而gitblit里的是1.0.10,于是拿下最新版(下载地址隐藏在 •browse download area 这个链接中,并不是下载那些jar文件) 复制到gitblit的amd64文件夹中,然后把installService.cmd和uninstallService.cmd中的gitblit.exe 改成 prunsvr.exe

第四步:炫耀

在兼容性上选择以管理员方式运行prunsvr.exe 然后再次运行installService.cmd 随后gitblit出现在服务列表中 输入图片说明 启动服务

完美

访问 https://localhost:8443 输入图片说明

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!