欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

把Gitblit变成Windows服务

程序员文章站 2022-05-04 17:54:06
...

第一步:试错

下载完Gitblit GO 1.8.0 for Windows 解压后运行installService.cmd 华丽的看到一串信息 把Gitblit变成Windows服务 然后,再看看服务列表:木有小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的程序冒充的! 把Gitblit变成Windows服务

第三步:重构

到户口所在地查了一下,这货是一个叫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出现在服务列表中 把Gitblit变成Windows服务 启动服务

完美

访问 https://localhost:8443 把Gitblit变成Windows服务

转载于:https://my.oschina.net/u/1773598/blog/744309