Tried setting to a custom value, 0 and -1, running instance's value is always 50000.
Before using JCasC I've also tried using init scripts and it also doesn't work, seems like the JNLP port is being set just after Jenkins comes up.
Config:
jenkins:
slaveAgentPort: 50001
Environment:
OS: Ubuntu 18.4
Jenkins: docker container based off jenkins/jenkins:2.121.3
JCasC 1.0-rc2
No other plugins / configuration
Log:
Running from: /usr/share/jenkins/jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
Aug 30, 2018 4:18:24 PM org.eclipse.jetty.util.log.Log initialized
INFO: Logging initialized @731ms to org.eclipse.jetty.util.log.JavaUtilLog
Aug 30, 2018 4:18:24 PM winstone.Logger logInternal
INFO: Beginning extraction from war file
Aug 30, 2018 4:18:26 PM org.eclipse.jetty.server.handler.ContextHandler setContextPath
WARNING: Empty contextPath
Aug 30, 2018 4:18:26 PM org.eclipse.jetty.server.Server doStart
INFO: jetty-9.4.z-SNAPSHOT, build timestamp: 2017-11-21T21:27:37Z, git hash: 82b8fb23f757335bb3329d540ce37a2a2615f0a8
Aug 30, 2018 4:18:26 PM org.eclipse.jetty.webapp.StandardDescriptorProcessor visitServlet
INFO: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
Aug 30, 2018 4:18:26 PM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
INFO: DefaultSessionIdManager workerName=node0
Aug 30, 2018 4:18:26 PM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
INFO: No SessionScavenger set, using defaults
Aug 30, 2018 4:18:26 PM org.eclipse.jetty.server.session.HouseKeeper startScavenging
INFO: Scavenging every 660000ms
Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
Aug 30, 2018 4:18:27 PM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started w.@4a9cc6cb{/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war}
Aug 30, 2018 4:18:27 PM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started ServerConnector@48c40605{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
Aug 30, 2018 4:18:27 PM org.eclipse.jetty.server.Server doStart
INFO: Started @4318ms
Aug 30, 2018 4:18:27 PM winstone.Logger logInternal
INFO: Winstone Servlet Engine v4.0 running: controlPort=disabled
Aug 30, 2018 4:18:29 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Aug 30, 2018 4:18:30 PM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Aug 30, 2018 4:18:33 PM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Aug 30, 2018 4:18:33 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Aug 30, 2018 4:18:33 PM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
Aug 30, 2018 4:18:35 PM io.jenkins.plugins.casc.BaseConfigurator configure
INFO: Setting [email protected] = 0
Aug 30, 2018 4:18:35 PM jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
Aug 30, 2018 4:18:35 PM hudson.model.AsyncPeriodicWork$1 run
INFO: Started Download metadata
Aug 30, 2018 4:18:36 PM jenkins.util.groovy.GroovyHookScript execute
INFO: Executing /var/jenkins_home/init.groovy.d/tcp-slave-agent-port.groovy
Aug 30, 2018 4:18:37 PM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Aug 30, 2018 4:18:37 PM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running
Aug 30, 2018 4:18:43 PM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Aug 30, 2018 4:18:44 PM hudson.model.DownloadService$Downloadable load
INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
Aug 30, 2018 4:18:44 PM hudson.model.AsyncPeriodicWork$1 run
INFO: Finished Download metadata. 8,426 ms
--> setting agent port for jnlp
--> setting agent port for jnlp... done
Update: this issue seems to be specific to the official Jenkins docker image. There is an init script built into the image that sets the agent port based on the global variable JENKINS_SLAVE_AGENT_PORT. The last two lines of output in the log are from this init script.
This seems to be expected behavior with the image and as such not a bug for the JCasC team, closing this issue.
a workaround i used was to add this to my Dockerfile:
RUN rm -rf /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groovy
Most helpful comment
a workaround i used was to add this to my
Dockerfile: