Configure Jenkins Global Properties through Env 43/7143/3
authorTrevor Bramwell <tbramwell@linuxfoundation.org>
Sat, 28 Oct 2017 12:48:58 +0000 (05:48 -0700)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Fri, 3 Nov 2017 15:14:44 +0000 (11:14 -0400)
By looking for these properties through the Jenkins environment, the
container no longer needs to be rebuilt each time JJB configuration
variables change; it can just be restarted.

Change-Id: I4b96e130ee94963f3ea94c9eb5eb3b5b77a1413f
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
config.env
jenkins/scripts/global-properties.groovy

index d36f127..4a55221 100644 (file)
@@ -30,6 +30,17 @@ JENKINS_ADMIN_PASSWORD=password
 # This is hardcoded due to jenkinsci/ssh-slave not accepting a file...
 JENKINS_SLAVE_SSH_PUBKEY=ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUX11sDBXacCE/LBdcXO4E27OZbWtjNadXPGIRTN1leUFWJlnljlZT31Wbml8fvp+5BKbVRHP/W9IWj/PlBTxrxOPMN2Rch40tarPU1PxWJYM203n6Ac+GWKcfSPiikmfXiJ+pJHs+0E1MVhpLe08pb3qVdvwAGdQXVC53dg9ebrb5KirbLvWdEMewfVlxdB2ru2p358QN5Y7HHsAqW1sMr18G1/O5bVJl7g1JbnQ+/YjVaJRo7cDuonTOeatlEMfZZXzlermgXCcVFSIo/oKuKbtilZ2ye17ax9kN4rfVAAXIeOAUZWeCad32EdQEO7xL956ZftXyV+jlw03CndD5
 
+##
+# JJB Config
+#   Global Properties for Jenkins
+##
+JJB_GIT_URL=ssh://gerrit:29418/
+JJB_NEXUS_URL=http://nexus.localhost/nexus
+# JJB_NEXUSPROXY=http://nexus:8081/nexus
+JJB_LOGS_SERVER=http://nexus.localhost/nexus/content/sites/logs
+JJB_SILO=production
+JJB_JENKINS_HOSTNAME=jenkins
+
 ##
 # Postgres
 ##
index 31a21c6..a4fed16 100644 (file)
@@ -15,6 +15,15 @@ instance = Jenkins.getInstance()
 globalNodeProperties = instance.getGlobalNodeProperties()
 envVarsNodePropertyList = globalNodeProperties.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class)
 
+def env = System.getenv()
+
+String GIT_URL = env.get('JJB_GIT_URL')
+String NEXUS_URL = env.get('JJB_NEXUS_URL')
+String NEXUSPROXY = env.get('JJB_NEXUSPROXY')
+String LOGS_SERVER = env.get('JJB_LOGS_SERVER')
+String SILO = env.get('JJB_SILO')
+String JENKINS_HOSTNAME = env.get('JJB_JENKINS_HOSTNAME')
+
 newEnvVarsNodeProperty = null
 envVars = null
 
@@ -27,6 +36,11 @@ if ( envVarsNodePropertyList == null || envVarsNodePropertyList.size() == 0 ) {
 
 }
 
-envVars.put("GIT_URL", "ssh://gerrit:29418/")
+(GIT_URL != null) && envVars.put("GIT_URL", GIT_URL)
+(NEXUS_URL != null) && envVars.put("NEXUS_URL", NEXUS_URL)
+(NEXUSPROXY != null) && envVars.put("NEXUSPROXY", NEXUSPROXY)
+(LOGS_SERVER != null) && envVars.put("LOGS_SERVER", LOGS_SERVER)
+(SILO != null) && envVars.put("SILO", SILO)
+(JENKINS_HOSTNAME != null) && envVars.put("JENKINS_HOSTNAME", JENKINS_HOSTNAME)
 
 instance.save()