【问题标题】:Jenkins changes in /etc/default/jenkins not working/etc/default/jenkins 中的 Jenkins 更改不起作用
【发布时间】:2023-02-03 13:37:16
【问题描述】:

我在 Ubuntu 20.04 LTS 上运行 Jenkins,我想更改端口或 Jenkins 运行的用户,但对 /etc/default/jenkins 文件的更改在重新启动服务后不会更改端口。

该服务仍以以下方式启动:

/usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080

当 /etc/default/jenkins 文件显示为:

[...]
# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=8081


# servlet context, important if you want to use apache proxying
PREFIX=/$NAME

# arguments to pass to jenkins.
# full list available from java -jar jenkins.war --help
# --javaHome=$JAVA_HOME
# --httpListenAddress=$HTTP_HOST (default 0.0.0.0)
# --httpPort=$HTTP_PORT (default 8080; disable with -1)
# --httpsPort=$HTTP_PORT
# --argumentsRealm.passwd.$ADMIN_USER=[password]
# --argumentsRealm.roles.$ADMIN_USER=admin
# --webroot=~/.jenkins/war
# --prefix=$PREFIX

JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT"

我检查了两台不同的 Ubuntu 20.04 LTS 机器,都遇到了同样的问题。任何人都知道我做错了什么?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    在詹金斯 2.332.1.. /etc/default/jenkins 不再使用。 jenkins 现在配置了 systemd。 你可以查看systemctl cat jenkins查看选项 和systemctl edit jenkins修改它..

    你可以改变端口。

    [Service]
    Environment="JENKINS_PORT=8081"
    

    更新了 java 内存和 java args 环境="JENKINS_OPTS="

    Environment="JENKINS_OPTS=-Xmx2048m"
    

    【讨论】:

    • 注意,应该是[SERVICE]breakline Environment="JENKINS_PORT=8081"
    • 如果将评论添加到 /etc/default/jenkins 会很有帮助,而不是默默地打破人们在更新时习惯的做法:-(
    • 更多细节可以参考官方文档:jenkins.io/doc/book/system-administration/systemd-services
    • 所以等等,我在 /etc/default/jenkins 中的更改在升级到 2.332.1 之后仍然有效,但是新的安装 /etc/default/jenkins 更改不被接受。这里发生了什么?
    • @RinoBino jenkins 2.332.1+ LTS 包安装将自定义设置迁移到 systemd。迁移后,System V 初始化配置(Debian 上的/etc/default/jenkins)将被忽略。参见jenkins.io/blog/2022/03/25/systemd-migration
    【解决方案2】:

    同样的问题在这里。今天我刚刚将 jenkins 升级到 v2.332.1(在 Ubuntu 20.04.1 LTS 上),我稍微修改了 /etc/default/jenkins - 更新了 java 内存和 java args:

    ...
    # arguments to pass to java
    JAVA_MEMORY="-Xmx2048m"
    
    # Allow graphs etc. to work even when an X server is present
    JAVA_ARGS="${JAVA_MEMORY} -Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox allow-scripts allow-same-origin; default-src 'none'; img-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self'; font-src 'self'; media-src 'self'""
    ...
    

    但是在使用“systemctl restart jenkins”重新启动服务后,它不使用新的参数。似乎 /etc/default/jenkins 被忽略了

    jenkins  1774584       1 42 19:07 ?        00:07:14 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
    

    【讨论】:

    【解决方案3】:

    更新/etc/systemd/system/jenkins.service.d/override.conf并运行systemctl daemon-reload

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 2013-02-19
      • 2015-03-02
      • 1970-01-01
      • 2012-07-06
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多