我最近看到一个博客,建议Jenkins的两个实例可以在同一台Windows机器上运行:Two Guys Arguing, Pro Tips: Run Multiple Jenkins CI Servers on a Single Machine。
但是我没有部署jenkins.war
,而是在我的Windows机器上安装了已经安装好的Jenkins的另一台Jenkins,这导致之前的Jenkins停止了。
答案 0 :(得分:4)
我错误地使用标准Windows安装来安装Jenkins,而不是像war
那样部署:{/ p>
java -DJENKINS_HOME=/path/to/configs -jar jenkins.war --httpPort=9090
导致Jenkins服务的可执行路径发生了变化。 (因为在第二次Jenkins安装期间,我选择了不同的JENKINS_HOME_1
路径。)
为了犯另一个错误,我尝试卸载第二次安装,但是Windows Jenkins服务的exe路径仍为JENKINS_HOME_1
(以前的C:/Jenkins/jenkins.exe
)。
为了解决这个问题,我必须通过以下方式更改可执行文件
命令行:
sc config Jenkins binPath="C:\Program Files (x86)\Jenkins\jenkins.exe"
或
注册表更改:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Jenkins\ImagePath="C:\Program Files (x86)\Jenkins\jenkins.exe"
我会再次尝试java -jar jenkins
选项。
答案 1 :(得分:1)
安装下一个jenkins实例的步骤:
您需要将工作jenkins文件夹的完整副本复制到第二个位置。
例如D:\jenkins2
接下来你需要编辑这个文件夹文件jenkins.xml。修改行
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8083 --webroot="%BASE%\war"</arguments>
并将值--httpPort
设置为预期值。
以管理员身份运行cmd.exe
在cmd内部运行命令:sc.exe create JenkinsUpgrade binpath= "D:\jenkins2\jenkins.exe" displayname="Jenkins for Upgrade"
其中JenkinsUpgrade
是服务名称,必须是唯一的,
binpath
包含新jenkins实例的所需路径,
displayname
是服务中显示的名称。
此命令在分隔的目录中创建jenkins服务器的新实例。
要卸载此实例,您可以使用命令sc delete JenkinsUpgrade
。