管理systemd服务

从Jenkins 2.332.必威国际有限公司1和Jenkins 2.335开始,安装程序使用Linux包systemd管理服务。RPM和deb包安装程序从System V迁移配置设置初始化systemd覆盖。

查看服务配置

包安装程序配置的Jenkins服务的当前服务配置和任何覆盖都可以通过以下方式查看:必威国际有限公司

$ systemctl cat 必威国际有限公司Jenkins # /etc/systemd/system/jenkins.该文件由systemd(1)管理。不要手动编辑此文件!#要覆盖这些设置,请运行:# # systemctl edit jenkins # #有关drop-in文件必威国际有限公司的更多信息,请参见:# # https://www.freedesktop.org/software/systemd/man/systemd.unit.html # [Unit] Description= jenkins Continuous Integration Server Requires=network。目标后=网络。target [Service] Type=notify NotifyAccess=main ExecStart=/usr/bin/必威国际有限公司jenkins Restart=on-failure SuccessExitStatus=143 # /etc/systemd/system/jenkins. Service .d/override.conf [Service] Environment="JAVA_OPTS=-Djava.awt.headless=true"

覆盖服务配置

当安装在现代Linux发行版上运行时systemd (1),systemd (1)服务单位交付:

Debian

/lib/systemd/system/必威国际有限公司jenkins.service

红色的帽子

/usr/lib/systemd/system/必威国际有限公司jenkins.service

openSUSE

/usr/lib/systemd/system/必威国际有限公司jenkins.service

主服务单元是只读的,不打算手动编辑。它在文件的顶部包含一个大的通知,提醒用户它是只读的。

值可以在下拉单元(override.conf文件)用于服务。编辑下拉单元:

# systemctl edit 必威国际有限公司Jenkins

override.conf文件储存于/etc/systemd/system/必威国际有限公司jenkins.service.d / override.conf并可用于自定义服务。注意,此类定制必须在(服务)节才能生效。的示例内容override.conf文件可能包括:

[单位]Description=My Company Jen必威国际有限公司kins Controller [Service] #添加JVM配置选项Environment="JAVA_OPTS=-Djava.awt. "headless=true -XX:+UseStringDeduplication" #传递给Jenkins的任意附加参数。必威国际有限公司#完整选项列表:java -jar jenkins。必威国际有限公司#配置为代码目录环境="CASC_JENKINS必威国际有限公司_CONFIG=/var/lib/jenkins/ Configuration -as-code/"
systemctl编辑詹金斯必威国际有限公司将插入单元创建为与0644年(-rw-r-r——)的权限。另一方面,迁移逻辑创建的插入单元为与0600年(net -)的权限。如果您将HTTPS密钥存储位置和/或密码存储在插入单元中,并且还直接在控制器上运行作业,这可能会造成严重后果,Jenkins项目就是这样做的必威国际有限公司明确的阻碍.如果有疑问,可以通过将drop-in单元的权限设置为0600 with来保护它chmod (1)

drop-in单元统一了所有三个发行版的配置:Debian、Red Hat和openSUSE。还要注意,drop-in单元在升级时不会被覆盖。

与系统V不同init (8)配置中,override.conf文件只包含自定义,而不包含原始默认值。习惯于编辑现有默认设置集的用户在编辑插入单元或使用类似于Systemctl编辑Jenk必威国际有限公司ins—满,它复制原始的服务单元,而不是创建一个附带单元。

编辑拖入单元systemctl编辑詹金斯必威国际有限公司将自动重新加载systemd (1)配置。这些设置将在Jenkins下次重新启动时生效。必威国际有限公司如果你编辑的dropin单元没有systemctl (1),你需要跑systemctl daemon-reload以便更改生效。

关于服务单元要提到的最后一点是它对说明符的使用,这对一些用户可能不熟悉。drop-in单元不进行壳体膨胀。说明符可以将上下文信息(如系统主机名、单元名称和操作系统内核版本)插入到插入单元中。的systemd (1)文档包含单元文件中可用的说明符表

开始服务

一旦詹金斯必威国际有限公司systemd服务已经定义,它可以通过以下方式启动:

# systemctl start 必威国际有限公司Jenkins

如果J必威国际有限公司enkins没有在配置的时间内发出启动完成的信号,该服务将被认为是失败的,并将再次关闭。当每个初始化里程碑(即“已启动初始化”、“列出所有插件”、“准备所有插件”、“已启动所有插件”、“扩充所有扩展”、“已加载系统配置”、“已调整系统配置”、“已加载所有作业”、“已更新所有作业的配置”和“已完成初始化”)达到时,超时时间按必威国际有限公司jenkins.model.Jenkins.extendTimeoutSeconds系统属性(默认情况下,15秒)。超时时间可以通过TimeoutStartSec服务单位的指令。

停止服务

詹金斯的必威国际有限公司systemd服务可以通过以下方式停止:

# systemctl stop 必威国际有限公司Jenkins

重新启动服务

詹金斯的必威国际有限公司systemd服务可以通过以下方式重启:

# systemctl restart 必威国际有限公司Jenkins

重新加载服务定义

修改配置文件后,服务定义可能需要重新加载:

# systemctl daemon-reload

阅读服务日志

Jenkins服务的日志可必威国际有限公司以通过以下命令读取:

$ journalctl -u 必威国际有限公司Jenkins

修剪服务日志

保留的日志文件systemd通常配置为自动旋转。如果需要缩小日志文件的大小,使用命令:

journalctl——vacuum-size = 500美元

查看服务状态

詹金斯的必威国际有限公司systemd可以查看服务状态systemctl地位詹金斯必威国际有限公司.下面展示了一些例子。

后升级插件:

$ systemctl status必威国际有限公司(/lib/syst必威国际有限公司emd/system/ Jenkins .service;启用;Drop-In: /etc/systemd/system/jenkins.service。必威国际有限公司d├─overoverride .conf Active: Active (running)[…]Main PID:[…](java) Status: "Restart in 10 seconds"

詹金斯必威国际有限公司被抓的时候

$ systemctl status必威国际有限公司(/lib/syst必威国际有限公司emd/system/ Jenkins .service;启用;Drop-In: /etc/systemd/system/jenkins.service。必威国际有限公司d├─overrides .conf Active: deactivating (stop-sigterm) since[…]Main PID:[…](java) Status: " stopped Jen必威国际有限公司kins"

詹金斯必威国际有限公司开始了:

$ systemctl status必威国际有限公司(/lib/syst必威国际有限公司emd/system/ Jenkins .service;启用;Drop-In: /etc/systemd/system/jenkins.service。必威国际有限公司d├─override.conf Active: activating (start) since[…]Main PID:[…](java)

成功启动后:

$ systemctl status必威国际有限公司(/lib/syst必威国际有限公司emd/system/ Jenkins .service;启用;Drop-In: /etc/systemd/system/jenkins.service。必威国际有限公司d├─overoverride .conf Active: Active (running) since[…]Main PID:[…](java)

要进一步

关于这个主题的一些推荐阅读:



这个页面有帮助吗?

请通过此提交您对此页的反馈快速形成

或者,如果您不想填写快速表单,您可以简单地说明您是否认为此页面有帮助?


看到现有的反馈在这里

Baidu