Jenkins 在 /etc/default/jenkins 中的更改不起作用

che*_*te9 12 jenkins

我在 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
Run Code Online (Sandbox Code Playgroud)

而 /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"
Run Code Online (Sandbox Code Playgroud)

我检查了两台不同的 Ubuntu 20.04 LTS 机器,两者都有相同的问题。有人知道我做错了什么吗?

小智 28

在 jenkins 2.332.1.. 之后,不再使用 /etc/default/jenkins 。jenkins 现在已经配置了 systemd。您可以检查systemctl cat jenkins选项并systemctl edit jenkins进行修改。

您可以更改端口。

[Service]
Environment="JENKINS_PORT=8081"
Run Code Online (Sandbox Code Playgroud)

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

Environment="JENKINS_OPTS=-Xmx2048m"
Run Code Online (Sandbox Code Playgroud)

  • 如果将注释添加到 /etc/default/jenkins 中,而不是只是默默地破坏人们在更新时的习惯,将会很有帮助:-( (9认同)
  • 注意,它应该是 `[SERVICE]` 断线 `Environment="JENKINS_PORT=8081"` (3认同)