管理systemd服务

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

查看服务配置

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

$ systemctl cat 必威国际有限公司Jenkins # /etc/systemd/system/jenkins.这个文件由systemd(1)管理。不要手动编辑此文件!关于drop-in文件的更多信息,请参见:# # https://www.freedesktop.org/s必威国际有限公司oftware/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文件)。编辑drop-in单元:

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

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

[单位]描述=My Company Jenkins Cont必威国际有限公司roller [Service] #添加JVM配置选项Environment="JAVA_OPTS=-Djava.awt. "headless=true -XX:+UseStringDeduplication" #传递给Jenkins的任意附加参数。必威国际有限公司#完整选项列表:java -jar jenkins。必威国际有限公司war——help Environment="J必威国际有限公司ENKINS_OPTS=——prefix=/jenkins——javaHome=/opt/jdk-11" #配置为代码目录Environment="CASC_JENKINS_CONFIG=/var/lib/jenkins/ Configuration -as-code/"
systemctl编辑詹金斯必威国际有限公司创建插入单元为与0644年(-rw-r-r——)的权限。另一方面,迁移逻辑将插入单元创建为与0600年(net -)的权限。如果您在插入单元中存储一个HTTPS密钥存储位置和/或密码,并且还直接在控制器上运行作业(Jenkins项目采用了这种做法),那么这可能会产生一定的后果必威国际有限公司明确的阻碍.当有疑问时,通过将其权限设置为0600来确保drop-in单元chmod (1)

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

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

编辑插件systemctl编辑詹金斯必威国际有限公司将自动重新加载systemd (1)配置。下次重启Jenkins时,设置才会生效。必威国际有限公司如果你编辑插入单元没有systemctl (1)你得跑了systemctl daemon-reload使更改生效。

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

开始服务

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

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

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

停止服务

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

# systemctl阻止Jenk必威国际有限公司ins

重新启动服务

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

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

重新加载服务定义

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

# systemctl daemon-reload

阅读服务日志

使用以下命令可以读取Jen必威国际有限公司kins服务的日志:

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

修剪服务日志

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

journalctl——vacuum-size = 500美元

查看服务状态

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

后升级插件:

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

随着詹必威国际有限公司金斯被扳倒:

$ systemctl status 必威国际有限公司Jenkins/lib/syste必威国际有限公司md/system/ Jenkins .service;启用;Drop-In: /etc/systemd/system/jenkins.service。必威国际有限公司d├─override.conf Active: deactivating (stop-sigterm) since[…]Main PID:[…](java) Status: "Stopping Jenki必威国际有限公司ns"

詹金斯必威国际有限公司创业之初:

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

成功启动后:

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

要进一步

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



这个页面有用吗?

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

或者,如果您不希望填写快速表格,您可以简单地指出,您认为这一页是否有用?


看到现有的反馈在这里

Baidu