我在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 2.332.1.之后。。不再使用/etc/default/jenkins。詹金斯现在配置了systemd。可以选中systemctl cat jenkins
查看选项和systemctl edit jenkins
来修改它。
你可以更改端口。
[Service]
Environment="JENKINS_PORT=8081"
更新的java内存和java参数环境=";JENKINS_OPTS=";
Environment="JENKINS_OPTS=-Xmx2048m"
更新/etc/systemd/system/jenkins.service.d/override.conf
并运行systemctl daemon-reload
这里也有同样的问题。今天我刚刚将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";,它不使用新的args。看起来/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