From: Trevor Bramwell Date: Sat, 28 Oct 2017 12:48:58 +0000 (-0700) Subject: Configure Jenkins Global Properties through Env X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=commitdiff_plain;h=f3a2cfeda43177fe65abc95b94893f2e4e9fb7fb;p=releng%2Fci-workshop.git Configure Jenkins Global Properties through Env 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 --- diff --git a/config.env b/config.env index d36f127..4a55221 100644 --- a/config.env +++ b/config.env @@ -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 ## diff --git a/jenkins/scripts/global-properties.groovy b/jenkins/scripts/global-properties.groovy index 31a21c6..a4fed16 100644 --- a/jenkins/scripts/global-properties.groovy +++ b/jenkins/scripts/global-properties.groovy @@ -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()