我有一台 Ubuntu 16.04 LTS 机器,我通过 JNLP 连接成功连接到 Jenkins 服务器。我为连接采取的步骤如下:
java -jar agent.jar -jnlpUrl http://my-jenkins-server:8080/computer/MyNode/slave-agent.jnlp -secret 6f8bb3250d6dbcda77979797997b0ea6bcaaa064785d558c0e3home /MyNode/slave-agent.jnlp -secret
连接成功。
问题: 一旦我关闭终端,连接就会断开。
问题: 如何在 Ubuntu 16.04 LTS 中将此添加为服务,以便每当机器重新启动时,它都会作为启动启动???
小智 2
如果您使用 System 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
Run Code Online (Sandbox Code Playgroud)
文件的权限和所有权可能因服务或操作系统而异。长列表文件以/lib/systemd/system/了解您需要或想要什么权限(可能root:root 644)。
请注意,该命令是 Jenkins 在您创建代理 jar 时为您提供的命令。只需将其用于ExecStart.
对于user和group,我使用拥有 Jenkins 工作区所在目录的用户。例如,如果 Jenkins 工作区位于 中/home/ubuntu,我指定ubuntu为user和group。
在那之后...
sudo 如果您不以 root 身份运行,请在这些前面加上前缀:
重新加载 System D: 可能是个好主意systemctl daemon-reload。
开始:systemctl start jenkins.service。请注意,该命令适用于文件的最后一行Alias。
如果您希望该服务随您的计算机一起启动,请启用它:systemctl enable jenkins.service。
以下是我的文件所依据的 Git 要点:
https://gist.github.com/unakatsuo/d4711f52a0ab0b9bc8010018149a7e84 https://gist.github.com/dragolabs/05dfe1c0899221ce51204dbfe7feecbb
我确信服务配置还可以做很多事情,但就我而言,我管理很多不同的服务器,只需要启动后自动启动!
| 归档时间: |
|
| 查看次数: |
4336 次 |
| 最近记录: |