首页 > 解决方案 > 如何设置 Jenkins 服务/system.d 在服务器重启时自动运行

问题描述

我想在 Ubuntu 18.04 上设置一项服务,以便在每次重新启动服务器时自动运行以启动 Jenkins。

我的 Jenkins 版本来自 Cloudbees 发行版 ( https://downloads.cloudbees.com/cloudbees-jenkins-distribution/rolling/war/ )。

我可以手动启动并运行 Jenkins,但是在sudo reboot服务器上运行测试以确定 Jenkins 是否在服务器重新启动时自动启动时,它无法启动。我附上了我的 jenkins.service 文件,该文件位于/etc/systemd/system/jenkins.service

Description=Jenkins Service for
After=network.target

[Service]
Type=simple
User=jenkins
Group=jenkins
ExecStart=java -jar /home/jenkins/cloudbees-jenkins-distribution.war --httpPort=8081
Restart=always

[Install]
WantedBy=multi-user.target

在重新启动之前,我尝试使用服务启用

sudo systemctl enable jenkins.service

sudo systemctl daemon-reload

sudo systemctl restart jenkins.service

谁能提供有关如何让 Cloudbees Jenkins 战争文件在服务器重新启动时自动启动的建议?

标签: jenkinscloudbeesreboot

解决方案


我最终从https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-18-04的说明中获得了 jenkins 战争文件。詹金斯战争文件安装在/usr/share/jenkins.

我制作了 jenkins/jobs 文件夹的副本,该文件夹在过去一个月中一直用于通过 cloudbees jenkins 运行构建。删除了对 cloudbees jenkins 的所有引用,从链接中安装了新的 jenkins,然后复制回我的作业文件夹中。

这个版本的 jenkins 带有一个 init.d 脚本,/etc/init.d/jenkins这正是我需要让 jenkins 在服务器重新启动时自动启动的脚本。通过重新启动服务器对其进行测试,当它再次活跃时,Jenkins 立即启动。

所以,我从来没有从 Cloudbees 获得 Jenkins 的战争文件,但我找到了一种解决方法,可以完成我需要的工作。


推荐阅读