如何将Jenkins Ubuntu Slave安装为服务?

disho6za  于 2022-10-06  发布在  Jenkins
关注(0)|答案(1)|浏览(255)

我有一台Ubuntu 16.04 LTS机器,我通过JNLP连接成功地连接到了Jenkins服务器。我对连接采取的步骤如下:

1.在备机中创建一个名为/home/MyUbuntu/jenkins的目录
1.将agent.jar和Slave-agent.jnlp文件下载到目录中
1.从终端运行以下命令:

JAR-jnlpUrl http://my-jenkins-server:8080/computer/MyNode/slave-agent.jnlp-Secret 6f8bb3250d6dbcda77979797997b0ea6bcaaa064785d558c0e4ea07d03-workDir“/home/myubuntu/jenkins”

连接成功。

**问题:**一旦关闭终端,连接就会断开。

**问题:**我如何在Ubuntu 16.04 LTS中将其添加为服务,以便每当机器重启时,它都会作为启动启动?

q35jwt9p

q35jwt9p1#

如果您使用的是系统D,请将如下所示的文件添加到/etc/systemd/system/

[Unit]
Description=Jenkins slave connection
Wants=network.target
After=network.target

[Service]
ExecStart=java -jar agent.jar -jnlpUrl http://jenkinsurl:port/endpoint.jnlp -secret 4lph4num3r1cs3cr3t -workDir "/base/path/of/your/jenkinsjar"
Restart=always
WorkingDirectory=/base/path/of/your/jenkinsjar
User=my-user
Group=my-group
RestartSec=20s

[Install]
WantedBy=multi-user.target
Alias=jenkins.service

文件的权限和所有权可能因服务或操作系统而异。在/lib/systemd/system/中列出长长的文件,以了解您需要或想要的烫发(可能是root:root 644)。

请注意,该命令是Jenkins在创建代理JAR时为您提供的命令。只需将其用于ExecStart即可。

对于usergroup,我使用拥有Jenkins工作区所在目录的用户。例如,如果Jenkins工作区位于/home/ubuntu中,则我将ubuntu指定为usergroup

在那之后。

如果您不是以超级用户身份运行,则以**sudo**作为前缀:

重新加载系统D:systemctl daemon-reload可能是个好主意。

起点:systemctl start jenkins.service。请注意,此命令适用于文件Alias的最后一行。

如果您希望服务从您的计算机启动:systemctl enable jenkins.service,请启用它。

  • 以下是我的文件所依据的Git分析师:*

https://gist.github.com/unakatsuo/d4711f52a0ab0b9bc8010018149a7e84https://gist.github.com/dragolabs/05dfe1c0899221ce51204dbfe7feecbb

我确信对于服务配置可以做的事情还有很多,但在我的情况下,我管理很多不同的服务器,只需要在引导后自动启动它!

相关问题