我想使用命令行创建一个jenkins从。这是一个document关于设置jenkins从作为一个windows服务,我按照那里的指示。我可以运行javaws http://10.121.33.4:8080/computer/Test-Jenkins-Slave-2/slave-agent.jnlp
连接从到主,但这个问题是它会断开后,机器重新启动。
我认为最好的方法是将slave安装为服务。因此,我尝试再次按照该页面上的说明进行操作。我将jenkins Slave安装为服务,并添加注册表项,如下所示。
服务属性:
注册表值:
我想知道我是否做错了什么?这份文件是不是漏了什么?
5条答案
按热度按时间im9ewurl1#
(Last 2019-09-20)我发现安装Jenkins工作器/从机作为服务的最快、最可靠的方法是:
1.从Jenkins的“/slave-agent.jnlp”端点下载jnlp文件
1.调出“从代理”GUI
1.从GUI中选择“作为服务安装”选项
详细步骤和图片如下。
注意:不要费心修改注册表,嵌入式安装使这个过程快速、简单和可重复。
假设您已经配置了一个名为“amberboch”的节点,在工作/从(即“amberboch”)机器上:
1.打开一个浏览器,输入新节点的Jenkins URL(或单击Jenkins“Nodes”页面中的节点),然后像往常一样在Jenkins中创建节点。
1.创建节点后,导航到该节点(Jenkins〉Nodes〉amberboch)并在浏览器URL的末尾包含“/slave-agent.jnlp”(例如“http://jenkins:8080/computer/computer/amberboch**/slave-agent. jnlp**”)以下载jnlp文件。
x 1c 2d 1x
1.使用 * 管理员权限 * 执行slave-agent.jnlp文件。(您可能指定了Java/javaws,以便使用“Java(TM)Web Start Launcher”启动它)(或者,您可以使用JENKINS-29616中的格式(由Pau Sabats证明)创建新的代理jar,该jar应保留连接信息:java -jar新代理. jar-jnlpUrl网址http://Jenkins:8080/computer/amberboch/slave-agent. jnlp-机密信息xxxxxxxx -工作目录“E:\Jenkins客户端”)
1.从slave-agent.jnlp GUI中选择“文件”=〉“作为服务安装”选项
安装服务后,根据需要更改服务的“登录”凭据以进行特定安装。如果在管理员模式下运行时,某个作业碰巧运行并因此创建了工作区子文件夹,则您可能必须重置权限或删除工作区中的目录(就像以前 * 具有管理员权限 * 的用户所运行的任何作业一样,并且常规Jenkins用户简档可能不具有对旧工作空间文件夹和文件的适当许可。
我希望这有助于保存您的时间和头痛的管理(恕我直言)最好的CI选项,我遇到的。
最好的问候,罗布
PS -我发现了另一个可能也有帮助的讨论:Install Jenkins slave as a Windows service in command line
u5i3ibmn2#
我已经采取了
从Jenkins 'master'安装。接下来我修改了XML来包含我的slave的启动参数。这给出了类似于:
在XML中,我还有:- 根据我的偏好编辑ID、名称和描述字段-删除“扩展”块的内容
之后,我可以使用以下命令启动Windows服务,在从服务器上运行管理shell:
这在原理上与启动Jenkins主服务相同。
8gsdolmq3#
可能需要在系统启动后显式启动服务。您可能需要:
1.转到“登录”选项卡,并以具有计算机管理权限的用户身份启动服务
或
1.按照以下说明通过Windows计划程序启动jenkins代理:https://wiki.jenkins-ci.org/display/JENKINS/Launch+Java+Web+Start+slave+agent+via+Windows+Scheduler
ubof19bj4#
将Jenkins节点(从节点)设置为服务的最简单方法是使用https://nssm.cc/
1.将nssm解压缩到
C:\
驱动器1.运行命令-〉
C:\nssm-2.24\win54>nssm install "JenkinsAgent"
1.在弹出窗口中,您可以给予Jenkins中提供的
startagent.bat
的路径您还可以配置要用于运行Jenkins作业的用户。
wb1gzix05#
虽然其他答案是有效的,但如果您像我一样,希望获得与JavaWebstart去世前(Oracle成为邪恶帝国时)完全相同的代理体验,并且您不能再启动JNLP文件......它在这里......
Java代理(从属)gui允许您将代理配置为Windows服务,它通过一个名为WinSW(https://github.com/winsw/winsw)的开源包来完成此操作。
您所要做的就是将此工具与Jenkins控制台在节点配置屏幕中提供的启动指令结合使用。虽然奇怪的是Jenkins的用户指南中没有,但Cloudbees确实在这里做了一个关于它的知识库:https://docs.cloudbees.com/docs/cloudbees-ci-kb/latest/client-and-managed-masters/how-to-install-windows-agents-as-a-service
净网是这样的:
如果你从旧的java gui看一个Windows服务安装,你会看到他们做了一个jenkins-slave.exe,那就是WinSW-x64.exe,事实上你可以简单地重命名WinSW-x64.exe,但是如果你这样做的话,.xml文件必须匹配安装命令才能工作。
干杯!