From 9ba438a3d8ea3c1df90a213e9ba605fc4da149e5 Mon Sep 17 00:00:00 2001 From: Johnny Bieren Date: Wed, 27 Feb 2019 09:50:29 -0500 Subject: [PATCH 1/3] DSL job creation Signed-off-by: Johnny Bieren --- .../dsl-jobs/ci-linchpin-messageBus-merge.dsl | 45 ++++++++++ .../ci-linchpin-messageBus-trigger.dsl | 45 ++++++++++ .../jenkins/master/configuration/init.groovy | 17 ++++ .../ci-linchpin-messageBus-merge/config.xml | 90 ------------------- .../ci-linchpin-messageBus-trigger/config.xml | 90 ------------------- 5 files changed, 107 insertions(+), 180 deletions(-) create mode 100644 config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-merge.dsl create mode 100644 config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-trigger.dsl delete mode 100644 config/s2i/jenkins/master/configuration/jobs/ci-linchpin-messageBus-merge/config.xml delete mode 100644 config/s2i/jenkins/master/configuration/jobs/ci-linchpin-messageBus-trigger/config.xml diff --git a/config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-merge.dsl b/config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-merge.dsl new file mode 100644 index 000000000..d1205e99f --- /dev/null +++ b/config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-merge.dsl @@ -0,0 +1,45 @@ +pipelineJob("ci-linchpin-messageBus-merge") { + definition { + logRotator { + numToKeep(100) + } + + concurrentBuild(false) + + parameters { + stringParam( + "CI_MESSAGE", + "", + "fedmsg msg" + ) + } + + triggers { + ciBuildTrigger { + providerData { + fedMsgSubscriberProviderData { + name('fedora-fedmsg') + overrides { + topic('org.centos.prod.ci.linchpin.pr_merge.queued') + } + } + } + noSquash(true) + } + } + + cpsScm { + scm { + git { + remote { + url('https://github.com/CentOS-PaaS-SIG/linchpin') + refspec("+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/*") + } + branch('develop') + } + } + scriptPath("config/Dockerfiles/JenkinsfileMessageBusMerge") + lightweight(false) + } + } +} diff --git a/config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-trigger.dsl b/config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-trigger.dsl new file mode 100644 index 000000000..ee51d7e87 --- /dev/null +++ b/config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-trigger.dsl @@ -0,0 +1,45 @@ +pipelineJob("ci-linchpin-messageBus-trigger") { + definition { + logRotator { + numToKeep(100) + } + + concurrentBuild(false) + + parameters { + stringParam( + "CI_MESSAGE", + "", + "fedmsg msg" + ) + } + + triggers { + ciBuildTrigger { + providerData { + fedMsgSubscriberProviderData { + name('fedora-fedmsg') + overrides { + topic('org.centos.prod.ci.linchpin.pr.queued') + } + } + } + noSquash(true) + } + } + + cpsScm { + scm { + git { + remote { + url('https://github.com/CentOS-PaaS-SIG/linchpin') + refspec("+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/*") + } + branch('develop') + } + } + scriptPath("config/Dockerfiles/JenkinsfileMessageBusTrigger") + lightweight(false) + } + } +} diff --git a/config/s2i/jenkins/master/configuration/init.groovy b/config/s2i/jenkins/master/configuration/init.groovy index df721fa70..07300937e 100644 --- a/config/s2i/jenkins/master/configuration/init.groovy +++ b/config/s2i/jenkins/master/configuration/init.groovy @@ -6,6 +6,10 @@ import com.redhat.jenkins.plugins.ci.messaging.* import hudson.markup.RawHtmlMarkupFormatter import hudson.model.* import hudson.security.* +import javaposse.jobdsl.dsl.DslScriptLoader +import javaposse.jobdsl.plugin.JenkinsJobManagement +import javaposse.jobdsl.plugin.GlobalJobDslSecurityConfiguration +import groovy.io.FileType def logger = Logger.getLogger("") logger.info("Disabling CLI over remoting") @@ -57,3 +61,16 @@ if ( envVarsNodePropertyList == null || envVarsNodePropertyList.size() == 0 ) { // for other environments. envVars.put("DOCKER_REPO_URL", "172.30.1.1:5000") instance.save() + +// Add ci-linchpin-messageBus-* jobs via dsl +env = System.getenv() +logger.info('Disabling job dsl script security') +GlobalConfiguration.all().get(GlobalJobDslSecurityConfiguration.class).useScriptSecurity=false +def dslDir = new File("${env['JENKINS_HOME']}/dsl-jobs") +dslDir.eachFileRecurse (FileType.FILES) { file -> + config = new File(file.path).text + workspace = new File("${env['JENKINS_HOME']}") + jobManagement = new JenkinsJobManagement(System.out, [:], workspace) + new DslScriptLoader(jobManagement).runScript(config) + logger.info('Created jms job: ' + file.path) +} diff --git a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-messageBus-merge/config.xml b/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-messageBus-merge/config.xml deleted file mode 100644 index 054a33608..000000000 --- a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-messageBus-merge/config.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - hudson.model.ParametersDefinitionProperty - org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty - jenkins.model.BuildDiscarderProperty - - - - - false - - - - - - - - - - -1 - 100 - -1 - 50 - - - - - false - false - - - - - CI_MESSAGE - fedmsg msg - - false - - - - - - - - true - - fedora-fedmsg - - org.centos.prod.ci.linchpin.pr_merge.queued - - - 60 - - - - - - - - 2 - - - +refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/* - https://github.com/CentOS-PaaS-SIG/linchpin - - - - - develop - - - false - - - - config/Dockerfiles/JenkinsfileMessageBusMerge - false - - - true - diff --git a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-messageBus-trigger/config.xml b/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-messageBus-trigger/config.xml deleted file mode 100644 index 66e0036a8..000000000 --- a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-messageBus-trigger/config.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - hudson.model.ParametersDefinitionProperty - org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty - jenkins.model.BuildDiscarderProperty - - - - - false - - - - - - - - - - -1 - 100 - -1 - 50 - - - - - false - false - - - - - CI_MESSAGE - fedmsg msg - - false - - - - - - - - true - - fedora-fedmsg - - org.centos.prod.ci.linchpin.pr.queued - - - 60 - - - - - - - - 2 - - - +refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/* - https://github.com/CentOS-PaaS-SIG/linchpin - - - - - develop - - - false - - - - config/Dockerfiles/JenkinsfileMessageBusTrigger - false - - - true - From 02ed7d4bcb07399e4c4bdbabc0edf075f2febdb5 Mon Sep 17 00:00:00 2001 From: Johnny Bieren Date: Wed, 27 Feb 2019 10:22:07 -0500 Subject: [PATCH 2/3] Fix xml versioning in unittests Signed-off-by: Johnny Bieren --- .../configuration/jobs/ci-linchpin-unittests/config.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-unittests/config.xml b/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-unittests/config.xml index dee450799..fff6a08d4 100644 --- a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-unittests/config.xml +++ b/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-unittests/config.xml @@ -1,4 +1,4 @@ - + @@ -91,4 +91,4 @@ false - \ No newline at end of file + From 3be2515e3f668a4e658e6b05dc320dd91fccebbe Mon Sep 17 00:00:00 2001 From: Bill Peck Date: Fri, 1 Mar 2019 11:00:42 -0500 Subject: [PATCH 3/3] Separate out upstream/downstream jenkins master. --- config/s2i/create-containers.sh | 6 + ...nkins-persistent-buildconfig-template.yaml | 7 +- .../dsl-jobs/ci-linchpin-messageBus-merge.dsl | 0 .../ci-linchpin-messageBus-trigger.dsl | 0 .../configuration/hudson.tasks.Maven.xml | 0 .../configuration/init.groovy | 0 .../jobs/cd-linchpin-container/config.xml | 0 .../jobs/cd-linchpin-release/config.xml | 0 .../jobs/ci-linchpin-container/config.xml | 0 .../jobs/ci-linchpin-merge/config.xml | 0 .../jobs/ci-linchpin-unittests/config.xml | 0 .../configuration/jobs/ci-linchpin/config.xml | 0 ....plugins.workflow.libs.GlobalLibraries.xml | 0 .../configuration/scriptApproval.xml | 0 .../{master => master-downstream}/plugins.txt | 0 .../configuration/hudson.tasks.Maven.xml | 17 +++ .../master-upstream/configuration/init.groovy | 76 +++++++++++ .../jobs/cd-linchpin-container/config.xml | 96 +++++++++++++ .../jobs/cd-linchpin-release/config.xml | 96 +++++++++++++ .../jobs/ci-linchpin-GHPRB-merge/config.xml | 0 .../jobs/ci-linchpin-GHPRB-trigger/config.xml | 0 .../jobs/ci-linchpin-container/config.xml | 108 +++++++++++++++ .../jobs/ci-linchpin-merge/config.xml | 109 +++++++++++++++ .../jobs/ci-linchpin-unittests/config.xml | 94 +++++++++++++ .../configuration/jobs/ci-linchpin/config.xml | 124 +++++++++++++++++ ....plugins.workflow.libs.GlobalLibraries.xml | 22 +++ .../configuration/scriptApproval.xml | 30 ++++ .../s2i/jenkins/master-upstream/plugins.txt | 129 ++++++++++++++++++ 28 files changed, 911 insertions(+), 3 deletions(-) rename config/s2i/jenkins/{master => master-downstream}/configuration/dsl-jobs/ci-linchpin-messageBus-merge.dsl (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/dsl-jobs/ci-linchpin-messageBus-trigger.dsl (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/hudson.tasks.Maven.xml (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/init.groovy (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/jobs/cd-linchpin-container/config.xml (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/jobs/cd-linchpin-release/config.xml (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/jobs/ci-linchpin-container/config.xml (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/jobs/ci-linchpin-merge/config.xml (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/jobs/ci-linchpin-unittests/config.xml (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/jobs/ci-linchpin/config.xml (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml (100%) rename config/s2i/jenkins/{master => master-downstream}/configuration/scriptApproval.xml (100%) rename config/s2i/jenkins/{master => master-downstream}/plugins.txt (100%) create mode 100644 config/s2i/jenkins/master-upstream/configuration/hudson.tasks.Maven.xml create mode 100644 config/s2i/jenkins/master-upstream/configuration/init.groovy create mode 100644 config/s2i/jenkins/master-upstream/configuration/jobs/cd-linchpin-container/config.xml create mode 100644 config/s2i/jenkins/master-upstream/configuration/jobs/cd-linchpin-release/config.xml rename config/s2i/jenkins/{master => master-upstream}/configuration/jobs/ci-linchpin-GHPRB-merge/config.xml (100%) rename config/s2i/jenkins/{master => master-upstream}/configuration/jobs/ci-linchpin-GHPRB-trigger/config.xml (100%) create mode 100644 config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-container/config.xml create mode 100644 config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-merge/config.xml create mode 100644 config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-unittests/config.xml create mode 100644 config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin/config.xml create mode 100644 config/s2i/jenkins/master-upstream/configuration/org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml create mode 100644 config/s2i/jenkins/master-upstream/configuration/scriptApproval.xml create mode 100644 config/s2i/jenkins/master-upstream/plugins.txt diff --git a/config/s2i/create-containers.sh b/config/s2i/create-containers.sh index 949927906..b77fac33d 100755 --- a/config/s2i/create-containers.sh +++ b/config/s2i/create-containers.sh @@ -96,6 +96,12 @@ if [ -z "${REPO_REF}" ] ; then else REPO_REF_PARAM="-p REPO_REF=${REPO_REF}" fi +## +if [ -z "{MASTER_CONTEXT_DIR}" ]; then + MASTER_CONTEXT_DIR="" +else + MASTER_CONTEXT_DIR="-p MASTER_CONTEXT_DIR=${MASTER_CONTEXT_DIR}" +fi oc project "${project}" > /dev/null 2>&1 if [ $? -ne 0 ] ; then diff --git a/config/s2i/jenkins/jenkins-persistent-buildconfig-template.yaml b/config/s2i/jenkins/jenkins-persistent-buildconfig-template.yaml index f6a03fa69..45aed347a 100644 --- a/config/s2i/jenkins/jenkins-persistent-buildconfig-template.yaml +++ b/config/s2i/jenkins/jenkins-persistent-buildconfig-template.yaml @@ -65,7 +65,7 @@ objects: limits: memory: ${MEMORY_LIMIT} source: - contextDir: ${CONTEXT_DIR} + contextDir: ${MASTER_CONTEXT_DIR} git: uri: ${REPO_URL} ref: ${REPO_REF} @@ -233,8 +233,9 @@ parameters: name: REPO_REF value: develop - description: Path within Git project to build; empty for root project directory. - name: CONTEXT_DIR - value: config/s2i/jenkins/master + name: MASTER_CONTEXT_DIR + required: true + value: config/s2i/jenkins/master-upstream - name: JENKINS_SERVICE_NAME displayName: Jenkins Service Name description: The name of the OpenShift Service exposed for the Jenkins container. diff --git a/config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-merge.dsl b/config/s2i/jenkins/master-downstream/configuration/dsl-jobs/ci-linchpin-messageBus-merge.dsl similarity index 100% rename from config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-merge.dsl rename to config/s2i/jenkins/master-downstream/configuration/dsl-jobs/ci-linchpin-messageBus-merge.dsl diff --git a/config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-trigger.dsl b/config/s2i/jenkins/master-downstream/configuration/dsl-jobs/ci-linchpin-messageBus-trigger.dsl similarity index 100% rename from config/s2i/jenkins/master/configuration/dsl-jobs/ci-linchpin-messageBus-trigger.dsl rename to config/s2i/jenkins/master-downstream/configuration/dsl-jobs/ci-linchpin-messageBus-trigger.dsl diff --git a/config/s2i/jenkins/master/configuration/hudson.tasks.Maven.xml b/config/s2i/jenkins/master-downstream/configuration/hudson.tasks.Maven.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/hudson.tasks.Maven.xml rename to config/s2i/jenkins/master-downstream/configuration/hudson.tasks.Maven.xml diff --git a/config/s2i/jenkins/master/configuration/init.groovy b/config/s2i/jenkins/master-downstream/configuration/init.groovy similarity index 100% rename from config/s2i/jenkins/master/configuration/init.groovy rename to config/s2i/jenkins/master-downstream/configuration/init.groovy diff --git a/config/s2i/jenkins/master/configuration/jobs/cd-linchpin-container/config.xml b/config/s2i/jenkins/master-downstream/configuration/jobs/cd-linchpin-container/config.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/jobs/cd-linchpin-container/config.xml rename to config/s2i/jenkins/master-downstream/configuration/jobs/cd-linchpin-container/config.xml diff --git a/config/s2i/jenkins/master/configuration/jobs/cd-linchpin-release/config.xml b/config/s2i/jenkins/master-downstream/configuration/jobs/cd-linchpin-release/config.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/jobs/cd-linchpin-release/config.xml rename to config/s2i/jenkins/master-downstream/configuration/jobs/cd-linchpin-release/config.xml diff --git a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-container/config.xml b/config/s2i/jenkins/master-downstream/configuration/jobs/ci-linchpin-container/config.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/jobs/ci-linchpin-container/config.xml rename to config/s2i/jenkins/master-downstream/configuration/jobs/ci-linchpin-container/config.xml diff --git a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-merge/config.xml b/config/s2i/jenkins/master-downstream/configuration/jobs/ci-linchpin-merge/config.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/jobs/ci-linchpin-merge/config.xml rename to config/s2i/jenkins/master-downstream/configuration/jobs/ci-linchpin-merge/config.xml diff --git a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-unittests/config.xml b/config/s2i/jenkins/master-downstream/configuration/jobs/ci-linchpin-unittests/config.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/jobs/ci-linchpin-unittests/config.xml rename to config/s2i/jenkins/master-downstream/configuration/jobs/ci-linchpin-unittests/config.xml diff --git a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin/config.xml b/config/s2i/jenkins/master-downstream/configuration/jobs/ci-linchpin/config.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/jobs/ci-linchpin/config.xml rename to config/s2i/jenkins/master-downstream/configuration/jobs/ci-linchpin/config.xml diff --git a/config/s2i/jenkins/master/configuration/org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml b/config/s2i/jenkins/master-downstream/configuration/org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml rename to config/s2i/jenkins/master-downstream/configuration/org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml diff --git a/config/s2i/jenkins/master/configuration/scriptApproval.xml b/config/s2i/jenkins/master-downstream/configuration/scriptApproval.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/scriptApproval.xml rename to config/s2i/jenkins/master-downstream/configuration/scriptApproval.xml diff --git a/config/s2i/jenkins/master/plugins.txt b/config/s2i/jenkins/master-downstream/plugins.txt similarity index 100% rename from config/s2i/jenkins/master/plugins.txt rename to config/s2i/jenkins/master-downstream/plugins.txt diff --git a/config/s2i/jenkins/master-upstream/configuration/hudson.tasks.Maven.xml b/config/s2i/jenkins/master-upstream/configuration/hudson.tasks.Maven.xml new file mode 100644 index 000000000..141370416 --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/hudson.tasks.Maven.xml @@ -0,0 +1,17 @@ + + + + + M3 + + + + + 3.3.9 + + + + + + + \ No newline at end of file diff --git a/config/s2i/jenkins/master-upstream/configuration/init.groovy b/config/s2i/jenkins/master-upstream/configuration/init.groovy new file mode 100644 index 000000000..07300937e --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/init.groovy @@ -0,0 +1,76 @@ +import java.util.logging.Logger +import jenkins.security.s2m.* +import jenkins.model.*; +import com.redhat.jenkins.plugins.ci.* +import com.redhat.jenkins.plugins.ci.messaging.* +import hudson.markup.RawHtmlMarkupFormatter +import hudson.model.* +import hudson.security.* +import javaposse.jobdsl.dsl.DslScriptLoader +import javaposse.jobdsl.plugin.JenkinsJobManagement +import javaposse.jobdsl.plugin.GlobalJobDslSecurityConfiguration +import groovy.io.FileType + +def logger = Logger.getLogger("") +logger.info("Disabling CLI over remoting") +jenkins.CLI.get().setEnabled(false); +logger.info("Enable Slave -> Master Access Control") +Jenkins.instance.injector.getInstance(AdminWhitelistRule.class).setMasterKillSwitch(false); +// Set global and job read permissions +def strategy = Jenkins.instance.getAuthorizationStrategy() +strategy.add(hudson.model.Hudson.READ,'anonymous') +strategy.add(hudson.model.Item.READ,'anonymous') +Jenkins.instance.setAuthorizationStrategy(strategy) +// Set Markup Formatter to Safe HTML so PR hyperlinks work +Jenkins.instance.setMarkupFormatter(new RawHtmlMarkupFormatter(false)) +Jenkins.instance.save() + +logger.info("Setup fedora-fedmsg Messaging Provider") +FedMsgMessagingProvider fedmsg = new FedMsgMessagingProvider("fedora-fedmsg", "tcp://hub.fedoraproject.org:9940", "tcp://172.19.4.24:9941", "org.fedoraproject"); +GlobalCIConfiguration.get().addMessageProvider(fedmsg) + +logger.info("Setup fedora-fedmsg-stage Messaging Provider") +FedMsgMessagingProvider fedmsgStage = new FedMsgMessagingProvider("fedora-fedmsg-stage", "tcp://stg.fedoraproject.org:9940", "tcp://172.19.4.36:9941", "org.fedoraproject"); +GlobalCIConfiguration.get().addMessageProvider(fedmsgStage) + +logger.info("Setup fedora-fedmsg-devel Messaging Provider") +FedMsgMessagingProvider fedmsgDevel = new FedMsgMessagingProvider("fedora-fedmsg-devel", "tcp://fedmsg-relay.continuous-infra.svc:4001", "tcp://fedmsg-relay.continuous-infra.svc:2003", "org.fedoraproject"); +GlobalCIConfiguration.get().addMessageProvider(fedmsgDevel) + +logger.info("Setting Time Zone to be EST") +System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'America/New_York') + +// Add global variable +instance = Jenkins.getInstance() +globalNodeProperties = instance.getGlobalNodeProperties() +envVarsNodePropertyList = globalNodeProperties.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class) + +newEnvVarsNodeProperty = null +envVars = null + +if ( envVarsNodePropertyList == null || envVarsNodePropertyList.size() == 0 ) { + newEnvVarsNodeProperty = new hudson.slaves.EnvironmentVariablesNodeProperty(); + globalNodeProperties.add(newEnvVarsNodeProperty) + envVars = newEnvVarsNodeProperty.getEnvVars() +} else { + envVars = envVarsNodePropertyList.get(0).getEnvVars() + +} + +// This is the default for minishift. You may need to change this +// for other environments. +envVars.put("DOCKER_REPO_URL", "172.30.1.1:5000") +instance.save() + +// Add ci-linchpin-messageBus-* jobs via dsl +env = System.getenv() +logger.info('Disabling job dsl script security') +GlobalConfiguration.all().get(GlobalJobDslSecurityConfiguration.class).useScriptSecurity=false +def dslDir = new File("${env['JENKINS_HOME']}/dsl-jobs") +dslDir.eachFileRecurse (FileType.FILES) { file -> + config = new File(file.path).text + workspace = new File("${env['JENKINS_HOME']}") + jobManagement = new JenkinsJobManagement(System.out, [:], workspace) + new DslScriptLoader(jobManagement).runScript(config) + logger.info('Created jms job: ' + file.path) +} diff --git a/config/s2i/jenkins/master-upstream/configuration/jobs/cd-linchpin-container/config.xml b/config/s2i/jenkins/master-upstream/configuration/jobs/cd-linchpin-container/config.xml new file mode 100644 index 000000000..308c1e0d0 --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/jobs/cd-linchpin-container/config.xml @@ -0,0 +1,96 @@ + + + + + + org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty + hudson.model.ParametersDefinitionProperty + com.coravy.hudson.plugins.github.GithubProjectProperty + jenkins.model.BuildDiscarderProperty + + + + Container Build of LinchPin project + false + + + + + + + + + false + false + + + + + + cd-linchpin-release + + SUCCESS + 0 + BLUE + true + + + + + + + 90 + 30 + 30 + 15 + + + + + + + + + + CONTAINER_NAMESPACE + Namespace where container resides + contrainfra + false + + + CONTAINER_REGISTRY + Container Registry + false + + + INSTALL_LOCATION + Installation Source. '.' uses the GIT_URL/GIT_BRANCH, 'linchpin' uses pypi. + linchpin + false + + + + + + + 2 + + + https://github.com/CentOS-PaaS-SIG/linchpin.git + + + + + develop + + + false + + + + config/Dockerfiles/JenkinsfileBuilder + false + + + false + diff --git a/config/s2i/jenkins/master-upstream/configuration/jobs/cd-linchpin-release/config.xml b/config/s2i/jenkins/master-upstream/configuration/jobs/cd-linchpin-release/config.xml new file mode 100644 index 000000000..104ba7593 --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/jobs/cd-linchpin-release/config.xml @@ -0,0 +1,96 @@ + + + + + + hudson.model.ParametersDefinitionProperty + com.coravy.hudson.plugins.github.GithubProjectProperty + jenkins.model.BuildDiscarderProperty + + + + + false + + + + + + + + + + -1 + 20 + -1 + 20 + + + + https://github.com/CentOS-PaaS-SIG/linchpin/ + + + + + + + false + false + + + + + ghprbActualCommit + + develop + + + sha1 + + + + + ghprbGhRepository + Git Hub Repository + + + + + + + + + + + + + + + 2 + + + https://github.com/CentOS-PaaS-SIG/linchpin + + + + + ${ghprbActualCommit} + + + false + + + + + origin + develop + + + + + config/Dockerfiles/JenkinsfileRelease + true + + + false + \ No newline at end of file diff --git a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-GHPRB-merge/config.xml b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-GHPRB-merge/config.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/jobs/ci-linchpin-GHPRB-merge/config.xml rename to config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-GHPRB-merge/config.xml diff --git a/config/s2i/jenkins/master/configuration/jobs/ci-linchpin-GHPRB-trigger/config.xml b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-GHPRB-trigger/config.xml similarity index 100% rename from config/s2i/jenkins/master/configuration/jobs/ci-linchpin-GHPRB-trigger/config.xml rename to config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-GHPRB-trigger/config.xml diff --git a/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-container/config.xml b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-container/config.xml new file mode 100644 index 000000000..dddf6fa10 --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-container/config.xml @@ -0,0 +1,108 @@ + + + + + + + hudson.model.ParametersDefinitionProperty + com.coravy.hudson.plugins.github.GithubProjectProperty + jenkins.model.BuildDiscarderProperty + + + + + + + + + + false + + + + + + + + + + -1 + 20 + -1 + 20 + + + + https://github.com/CentOS-PaaS-SIG/linchpin/ + + + + false + false + + + + + ghprbActualCommit + + develop + false + + + sha1 + + + false + + + ghprbPullId + Pull Request Number + + false + + + ghprbPullAuthorLogin + Pull Request Author username + + false + + + ghprbGhRepository + Git Hub Repository + + false + + + + + + + 2 + + + +refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/* + https://github.com/CentOS-PaaS-SIG/linchpin + + + + + ${ghprbActualCommit} + + + false + + + + + origin + develop + + + + + config/Dockerfiles/JenkinsfileContainer + false + + + false + diff --git a/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-merge/config.xml b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-merge/config.xml new file mode 100644 index 000000000..2e0aaa363 --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-merge/config.xml @@ -0,0 +1,109 @@ + + + + + + + hudson.model.ParametersDefinitionProperty + com.coravy.hudson.plugins.github.GithubProjectProperty + jenkins.model.BuildDiscarderProperty + + + + + + + + + + false + + + + + + + + + + -1 + 20 + -1 + 20 + + + + + https://github.com/CentOS-PaaS-SIG/linchpin/ + + + + false + false + + + + + ghprbActualCommit + + develop + false + + + sha1 + + + false + + + ghprbPullId + Pull Request Number + + false + + + ghprbPullAuthorLogin + Pull Request Author username + + false + + + ghprbGhRepository + Git Hub Repository + + false + + + + + + + 2 + + + +refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/* + https://github.com/CentOS-PaaS-SIG/linchpin + + + + + ${ghprbActualCommit} + + + false + + + + + origin + develop + + + + + config/Dockerfiles/JenkinsfileMergePR + false + + + false + diff --git a/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-unittests/config.xml b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-unittests/config.xml new file mode 100644 index 000000000..fff6a08d4 --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin-unittests/config.xml @@ -0,0 +1,94 @@ + + + + + + hudson.model.ParametersDefinitionProperty + com.coravy.hudson.plugins.github.GithubProjectProperty + jenkins.model.BuildDiscarderProperty + + + + + false + + + + + + + + + + -1 + 10 + -1 + 10 + + + + https://github.com/CentOS-PaaS-SIG/linchpin/ + + + + false + false + + + + + ghprbActualCommit + + develop + false + + + sha1 + + + false + + + ghprbPullId + Pull Request Number + + false + + + ghprbPullAuthorLogin + Pull Request Author username + + false + + + ghprbGhRepository + Git Hub Repository + + false + + + + + + + 2 + + + https://github.com/CentOS-PaaS-SIG/linchpin + + + + + */develop + + + false + + + + config/Dockerfiles/JenkinsfileUnitTests + false + + + false + diff --git a/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin/config.xml b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin/config.xml new file mode 100644 index 000000000..80f3d0a75 --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/jobs/ci-linchpin/config.xml @@ -0,0 +1,124 @@ + + + + + + org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty + hudson.model.ParametersDefinitionProperty + com.coravy.hudson.plugins.github.GithubProjectProperty + jenkins.model.BuildDiscarderProperty + + + + + false + + + + + + + + + false + false + + + + + + + 90 + 30 + 30 + 15 + + + + https://github.com/CentOS-PaaS-SIG/linchpin/ + + + + + + + ghprbActualCommit + + develop + false + + + sha1 + + + false + + + ghprbPullId + Pull Request Number + + false + + + ghprbPullAuthorLogin + Pull Request Author username + + false + + + ghprbGhRepository + Git Hub Repository + + false + + + SLAVE_TAG + Tag for slave image + stable + false + + + FEDORA28_TAG + Tag for fedora28 image + stable + false + + + FEDORA27_TAG + Tag for fedora27 image + stable + false + + + CENTOS7_TAG + Tag for centos7 image + stable + false + + + + + + + 2 + + + +refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/* + https://github.com/CentOS-PaaS-SIG/linchpin + + + + + ${ghprbActualCommit} + + + false + + + + config/Dockerfiles/Jenkinsfile + false + + + false + diff --git a/config/s2i/jenkins/master-upstream/configuration/org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml b/config/s2i/jenkins/master-upstream/configuration/org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml new file mode 100644 index 000000000..e3e8a2fee --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/org.jenkinsci.plugins.workflow.libs.GlobalLibraries.xml @@ -0,0 +1,22 @@ + + + + + cico-pipeline-library + + + 93b8ae50-54d8-4215-a1b6-4f3b30d9ff04 + https://github.com/CentOS/cico-pipeline-library + + + + + + + master + true + true + true + + + \ No newline at end of file diff --git a/config/s2i/jenkins/master-upstream/configuration/scriptApproval.xml b/config/s2i/jenkins/master-upstream/configuration/scriptApproval.xml new file mode 100644 index 000000000..708b87d74 --- /dev/null +++ b/config/s2i/jenkins/master-upstream/configuration/scriptApproval.xml @@ -0,0 +1,30 @@ + + + + + + method org.jenkinsci.plugins.workflow.support.actions.EnvironmentAction getEnvironment + staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods last java.lang.Iterable + method com.cloudbees.plugins.credentials.common.IdCredentials getId + method org.jenkinsci.plugins.plaincredentials.FileCredentials getFileName + staticMethod com.cloudbees.plugins.credentials.CredentialsProvider lookupCredentials java.lang.Class + staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods intersect java.util.List java.lang.Iterable + method java.lang.Class isInstance java.lang.Object + new java.lang.Exception java.lang.String + new java.lang.Exception java.lang.String java.lang.Throwable + staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods contains java.lang.Object[] java.lang.Object + staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getAt java.util.List groovy.lang.Range + staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getAt java.util.List java.util.Collection + staticMethod org.jenkinsci.plugins.pipeline.modeldefinition.Utils markStageSkippedForConditional java.lang.String + field org.csanchez.jenkins.plugins.kubernetes.pipeline.AbstractInvisibleRunAction2 stack + method hudson.model.Actionable getAction java.lang.Class + method java.util.Collection clear + method org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper getRawBuild + + + + + + + + diff --git a/config/s2i/jenkins/master-upstream/plugins.txt b/config/s2i/jenkins/master-upstream/plugins.txt new file mode 100644 index 000000000..cd9222427 --- /dev/null +++ b/config/s2i/jenkins/master-upstream/plugins.txt @@ -0,0 +1,129 @@ +ace-editor:1.1 +ansicolor:0.5.2 +antisamy-markup-formatter:1.5 +apache-httpcomponents-client-4-api:4.5.3-2.1 +async-http-client:1.9.40.0 +authentication-tokens:1.3 +blueocean:1.4.2 +blueocean-autofavorite:1.2.2 +blueocean-bitbucket-pipeline:1.4.2 +blueocean-commons:1.4.2 +blueocean-config:1.4.2 +blueocean-dashboard:1.4.2 +blueocean-display-url:2.2.0 +blueocean-events:1.4.2 +blueocean-github-pipeline:1.4.2 +blueocean-git-pipeline:1.4.2 +blueocean-i18n:1.4.2 +blueocean-jira:1.4.2 +blueocean-jwt:1.4.2 +blueocean-personalization:1.4.2 +blueocean-pipeline-api-impl:1.4.2 +blueocean-pipeline-editor:1.4.2 +blueocean-pipeline-scm-api:1.4.2 +blueocean-rest:1.4.2 +blueocean-rest-impl:1.4.2 +blueocean-web:1.4.2 +bouncycastle-api:2.16.2 +branch-api:2.0.18 +cloudbees-bitbucket-branch-source:2.2.10 +cloudbees-folder:6.3 +conditional-buildstep:1.3.6 +config-file-provider:2.17 +credentials:2.1.16 +credentials-binding:1.15 +display-url-api:2.2.0 +docker-commons:1.11 +docker-workflow:1.15.1 +durable-task:1.18 +favorite:2.3.1 +git:3.8.0 +git-client:2.7.1 +github:1.29.0 +github-api:1.90 +github-branch-source:2.3.2 +github-organization-folder:1.6 +gitlab:1.5.3 +git-server:1.7 +greenballs:1.15 +handlebars:1.1.1 +htmlpublisher:1.14 +icon-shim:2.0.3 +instant-messaging:1.35 +ircbot:2.30 +jackson2-api:2.8.11.1 +javadoc:1.4 +jira:2.5 +jms-messaging:1.1.5 +job-dsl:1.68 +jquery-detached:1.2.1 +jsch:0.1.54.2 +junit:1.24 +kubernetes:1.3.1 +lockable-resources:2.1 +mailer:1.20 +managed-scripts:1.4 +mapdb-api:1.0.9.0 +matrix-auth:2.2 +matrix-project:1.12 +maven-plugin:3.1 +mercurial:2.3 +metrics:3.1.2.10 +momentjs:1.1.1 +monitoring:1.71.0 +multiple-scms:0.6 +node-iterator-api:1.5 +openshift-client:1.0.7 +openshift-login:1.0.5 +openshift-pipeline:1.0.54 +openshift-sync:1.0.7 +parameterized-trigger:2.35.2 +pipeline-build-step:2.7 +pipeline-github-lib:1.0 +pipeline-graph-analysis:1.6 +pipeline-input-step:2.8 +pipeline-milestone-step:1.3.1 +pipeline-model-api:1.2.7 +pipeline-model-declarative-agent:1.1.1 +pipeline-model-definition:1.2.7 +pipeline-model-extensions:1.2.7 +pipeline-rest-api:2.9 +pipeline-stage-step:2.3 +pipeline-stage-tags-metadata:1.2.7 +pipeline-stage-view:2.9 +pipeline-utility-steps:2.0.1 +plain-credentials:1.4 +pubsub-light:1.12 +rebuild:1.27 +resource-disposer:0.8 +run-condition:1.0 +scm-api:2.2.6 +script-security:1.41 +sse-gateway:1.15 +ssh-credentials:1.13 +ssh-slaves:1.26 +structs:1.14 +subversion:2.10.3 +support-core:2.44 +text-finder:1.10 +timestamper:1.8.9 +token-macro:2.3 +update-sites-manager:2.0.0 +variant:1.1 +vsphere-cloud:2.16 +windows-slaves:1.3.1 +workflow-aggregator:2.5 +workflow-api:2.26 +workflow-basic-steps:2.6 +workflow-cps:2.45 +workflow-cps-global-lib:2.9 +workflow-durable-task-step:2.19 +workflow-job:2.17 +workflow-multibranch:2.17 +workflow-remote-loader:1.4 +workflow-scm-step:2.6 +workflow-step-api:2.14 +workflow-support:2.18 +ws-cleanup:0.34 +xunit:1.102 +ghprb:1.40.0