From b16e0aa473c0e6d9a063291dd9b435d866296c58 Mon Sep 17 00:00:00 2001 From: Petter Abrahamsson Date: Mon, 5 Aug 2019 14:17:27 -0400 Subject: [PATCH] Update jenkins agents to work on OCP v4.x, fixes #223, #224, #225 (#222) * Use UBI 7 base image for jenkins-slaves, fixes #223, #224, #225 * Pull in upstream updates * Add Ephemeral Jenkins + minor cleanup --- .applier/group_vars/seed-hosts.yml | 154 ++++++++++++------ .openshift/params/ansible | 6 - .openshift/params/arachni | 4 - .openshift/params/golang | 4 - .openshift/params/gradle | 4 - .openshift/params/mongodb | 4 - .openshift/params/mvn | 5 - .openshift/params/npm | 4 - .openshift/params/python | 4 - .openshift/params/test_pipelines/golang | 2 - .openshift/params/zap | 4 - hoverfly/Dockerfile | 6 +- .../jenkins-slave-ansible/Dockerfile | 41 +++-- .../jenkins-slave-ansible/Dockerfile.rhel7 | 25 --- .../jenkins-slave-ansible/scl_enable | 2 + jenkins-slaves/jenkins-slave-ansible/ubi.repo | 104 ++++++++++++ .../jenkins-slave-arachni/Dockerfile | 2 +- .../jenkins-slave-arachni/Dockerfile.rhel7 | 24 --- .../jenkins-slave-golang/Dockerfile | 2 +- .../jenkins-slave-golang/Dockerfile.rhel7 | 36 ---- .../jenkins-slave-gradle/Dockerfile | 2 +- .../jenkins-slave-gradle/Dockerfile.rhel7 | 22 --- .../jenkins-slave-mongodb/Dockerfile | 7 +- .../jenkins-slave-mongodb/Dockerfile.rhel7 | 20 --- jenkins-slaves/jenkins-slave-mongodb/ubi.repo | 104 ++++++++++++ jenkins-slaves/jenkins-slave-mvn/Dockerfile | 2 +- .../jenkins-slave-python/Dockerfile | 20 ++- .../jenkins-slave-python/Dockerfile.rhel7 | 32 ---- .../jenkins-slave-python/scl_enable | 2 +- jenkins-slaves/jenkins-slave-python/ubi.repo | 104 ++++++++++++ 30 files changed, 459 insertions(+), 293 deletions(-) delete mode 100644 .openshift/params/ansible delete mode 100644 .openshift/params/arachni delete mode 100644 .openshift/params/golang delete mode 100644 .openshift/params/gradle delete mode 100644 .openshift/params/mongodb delete mode 100644 .openshift/params/mvn delete mode 100644 .openshift/params/npm delete mode 100644 .openshift/params/python delete mode 100644 .openshift/params/test_pipelines/golang delete mode 100644 .openshift/params/zap delete mode 100644 jenkins-slaves/jenkins-slave-ansible/Dockerfile.rhel7 create mode 100755 jenkins-slaves/jenkins-slave-ansible/scl_enable create mode 100644 jenkins-slaves/jenkins-slave-ansible/ubi.repo delete mode 100644 jenkins-slaves/jenkins-slave-arachni/Dockerfile.rhel7 delete mode 100644 jenkins-slaves/jenkins-slave-golang/Dockerfile.rhel7 delete mode 100644 jenkins-slaves/jenkins-slave-gradle/Dockerfile.rhel7 delete mode 100644 jenkins-slaves/jenkins-slave-mongodb/Dockerfile.rhel7 create mode 100644 jenkins-slaves/jenkins-slave-mongodb/ubi.repo delete mode 100644 jenkins-slaves/jenkins-slave-python/Dockerfile.rhel7 create mode 100644 jenkins-slaves/jenkins-slave-python/ubi.repo diff --git a/.applier/group_vars/seed-hosts.yml b/.applier/group_vars/seed-hosts.yml index d94160949..9bf915620 100644 --- a/.applier/group_vars/seed-hosts.yml +++ b/.applier/group_vars/seed-hosts.yml @@ -1,8 +1,83 @@ --- namespace: jenkins-slaves - repository_url: https://github.com/redhat-cop/containers-quickstarts.git slave_repo_ref: v1.11 +templates_repo_ref: v1.4.8 + +jenkins_slaves: + build: + ansible: + BUILDER_IMAGE_NAME: quay.io/openshift/origin-jenkins-agent-base:4.1 + DOCKERFILE_PATH: Dockerfile + NAME: jenkins-slave-ansible + SOURCE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-ansible + SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + SOURCE_REPOSITORY_URL: "{{ repository_url }}" + arachni: + BUILDER_IMAGE_NAME: quay.io/openshift/origin-jenkins-agent-base:4.1 + DOCKERFILE_PATH: Dockerfile + NAME: jenkins-slave-arachni + SOURCE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-arachni + SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + SOURCE_REPOSITORY_URL: "{{ repository_url }}" + python: + BUILDER_IMAGE_NAME: quay.io/openshift/origin-jenkins-agent-base:4.1 + DOCKERFILE_PATH: Dockerfile + NAME: jenkins-slave-python + SOURCE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-python + SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + SOURCE_REPOSITORY_URL: "{{ repository_url }}" + golang: + BUILDER_IMAGE_NAME: quay.io/openshift/origin-jenkins-agent-base:4.1 + DOCKERFILE_PATH: Dockerfile + NAME: jenkins-slave-golang + SOURCE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-golang + SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + SOURCE_REPOSITORY_URL: "{{ repository_url }}" + gradle: + BUILDER_IMAGE_NAME: quay.io/openshift/origin-jenkins-agent-base:4.1 + DOCKERFILE_PATH: Dockerfile + NAME: jenkins-slave-gradle + SOURCE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-gradle + SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + SOURCE_REPOSITORY_URL: "{{ repository_url }}" + mongodb: + BUILDER_IMAGE_NAME: quay.io/openshift/origin-jenkins-agent-base:4.1 + DOCKERFILE_PATH: Dockerfile + NAME: jenkins-slave-mongodb + SOURCE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-mongodb + SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + SOURCE_REPOSITORY_URL: "{{ repository_url }}" + mvn: + BUILDER_IMAGE_NAME: quay.io/openshift/origin-jenkins-agent-base:4.1 + DOCKERFILE_PATH: Dockerfile + NAME: jenkins-slave-mvn + SOURCE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-mvn + SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + SOURCE_REPOSITORY_URL: "{{ repository_url }}" + npm: + BUILDER_IMAGE_NAME: openshift/jenkins-slave-base-centos7:v3.11 + DOCKERFILE_PATH: Dockerfile + NAME: jenkins-slave-npm + SOURCE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-npm + SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + SOURCE_REPOSITORY_URL: "{{ repository_url }}" + zap: + BUILDER_IMAGE_NAME: centos:centos7 + DOCKERFILE_PATH: Dockerfile + NAME: jenkins-slave-zap + SOURCE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-zap + SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + SOURCE_REPOSITORY_URL: "{{ repository_url }}" + +test_pipelines: + deploy: + golang: + NAME: jenkins-slave-golang + PIPELINE_CONTEXT_DIR: jenkins-slaves/jenkins-slave-golang + PIPELINE_FILENAME: "Jenkinsfile.test" + PIPELINE_SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" + PIPELINE_SOURCE_REPOSITORY_URL: "{{ repository_url }}" openshift_cluster_content: - object: Environment Setup @@ -15,107 +90,84 @@ openshift_cluster_content: NAMESPACE_DISPLAY_NAME: "{{ namespace }}" tags: - project +- object: jenkins-ephemeral + content: + - name: jenkins-ephemeral + template: 'openshift//jenkins-ephemeral' + namespace: "{{ namespace }}" + tags: + - jenkins-ephemeral - object: jenkins-slave-nodes content: - name: jenkins-slave-ansible template: "{{ inventory_dir }}/../.openshift/templates/jenkins-slave-generic-template.yml" - params: "{{ inventory_dir }}/../.openshift/params/ansible" - params_from_vars: - SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - SOURCE_REPOSITORY_URL: "{{ repository_url }}" + params_from_vars: "{{ jenkins_slaves.build.ansible }}" namespace: "{{ namespace }}" tags: - jenkins-slaves - ansible-slave - name: jenkins-slave-arachni template: "{{ inventory_dir }}/../.openshift/templates/jenkins-slave-generic-template.yml" - params: "{{ inventory_dir }}/../.openshift/params/arachni" - params_from_vars: - SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - SOURCE_REPOSITORY_URL: "{{ repository_url }}" + params_from_vars: "{{ jenkins_slaves.build.arachni }}" namespace: "{{ namespace }}" tags: - jenkins-slaves - arachni-slave - name: jenkins-slave-golang template: "{{ inventory_dir }}/../.openshift/templates/jenkins-slave-generic-template.yml" - params: "{{ inventory_dir }}/../.openshift/params/golang" - params_from_vars: - SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - SOURCE_REPOSITORY_URL: "{{ repository_url }}" + params_from_vars: "{{ jenkins_slaves.build.golang }}" namespace: "{{ namespace }}" tags: - jenkins-slaves - golang-slave - name: jenkins-slave-gradle template: "{{ inventory_dir }}/../.openshift/templates/jenkins-slave-generic-template.yml" - params: "{{ inventory_dir }}/../.openshift/params/gradle" - params_from_vars: - SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - SOURCE_REPOSITORY_URL: "{{ repository_url }}" + params_from_vars: "{{ jenkins_slaves.build.gradle }}" namespace: "{{ namespace }}" tags: - jenkins-slaves - gradle-slave - name: jenkins-slave-mongodb template: "{{ inventory_dir }}/../.openshift/templates/jenkins-slave-generic-template.yml" - params: "{{ inventory_dir }}/../.openshift/params/mongodb" - params_from_vars: - SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - SOURCE_REPOSITORY_URL: "{{ repository_url }}" + params_from_vars: "{{ jenkins_slaves.build.mongodb }}" namespace: "{{ namespace }}" tags: - jenkins-slaves - mongodb-slave - name: jenkins-slave-mvn template: "{{ inventory_dir }}/../.openshift/templates/jenkins-slave-generic-template.yml" - params: "{{ inventory_dir }}/../.openshift/params/mvn" - params_from_vars: - SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - SOURCE_REPOSITORY_URL: "{{ repository_url }}" + params_from_vars: "{{ jenkins_slaves.build.mvn }}" namespace: "{{ namespace }}" tags: - - jenkins-slaves - - mvn-slave + - jenkins-slaves + - mvn-slave - name: jenkins-slave-npm template: "{{ inventory_dir }}/../.openshift/templates/jenkins-slave-generic-template.yml" - params: "{{ inventory_dir }}/../.openshift/params/npm" - params_from_vars: - SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - SOURCE_REPOSITORY_URL: "{{ repository_url }}" + params_from_vars: "{{ jenkins_slaves.build.npm }}" namespace: "{{ namespace }}" tags: - - jenkins-slaves - - npm-slave + - jenkins-slaves + - npm-slave - name: jenkins-slave-python template: "{{ inventory_dir }}/../.openshift/templates/jenkins-slave-generic-template.yml" - params: "{{ inventory_dir }}/../.openshift/params/python" - params_from_vars: - SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - SOURCE_REPOSITORY_URL: "{{ repository_url }}" + params_from_vars: "{{ jenkins_slaves.build.python }}" namespace: "{{ namespace }}" tags: - jenkins-slaves - python-slave - name: jenkins-slave-zap template: "{{ inventory_dir }}/../.openshift/templates/jenkins-slave-generic-template.yml" - params: "{{ inventory_dir }}/../.openshift/params/zap" - params_from_vars: - SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - SOURCE_REPOSITORY_URL: "{{ repository_url }}" + params_from_vars: "{{ jenkins_slaves.build.zap }}" namespace: "{{ namespace }}" tags: - - jenkins-slaves - - zap-slave + - jenkins-slaves + - zap-slave - object: test-pipelines content: - - name: Deploy all test pipelines - template: "https://raw.githubusercontent.com/redhat-cop/openshift-templates/v1.4.5/jenkins-pipelines/jenkins-pipeline-template-no-ocp-triggers.yml" - params: "{{ inventory_dir }}/../.openshift/params/test_pipelines/" - params_from_vars: - PIPELINE_SOURCE_REPOSITORY_URL: "{{ repository_url }}" - PIPELINE_SOURCE_REPOSITORY_REF: "{{ slave_repo_ref }}" - PIPELINE_FILENAME: "Jenkinsfile.test" + - name: Deploy golang-slave test pipelines + template: "https://raw.githubusercontent.com/redhat-cop/openshift-templates/{{ templates_repo_ref }}/jenkins-pipelines/jenkins-pipeline-template-no-ocp-triggers.yml" + params_from_vars: "{{ test_pipelines.deploy.golang }}" namespace: "{{ namespace }}" tags: - - test-pipelines + - test-pipelines + - golang-slave-pipeline diff --git a/.openshift/params/ansible b/.openshift/params/ansible deleted file mode 100644 index 2ba8e04a5..000000000 --- a/.openshift/params/ansible +++ /dev/null @@ -1,6 +0,0 @@ -SOURCE_REPOSITORY_URL=https://github.com/redhat-cop/containers-quickstarts.git -SOURCE_CONTEXT_DIR=jenkins-slaves/jenkins-slave-ansible -BUILDER_IMAGE_NAME=registry.access.redhat.com/openshift3/jenkins-slave-base-rhel7:v3.11 -NAME=jenkins-slave-ansible -SOURCE_REPOSITORY_REF=v1.3 -DOCKERFILE_PATH=Dockerfile diff --git a/.openshift/params/arachni b/.openshift/params/arachni deleted file mode 100644 index 54fcac381..000000000 --- a/.openshift/params/arachni +++ /dev/null @@ -1,4 +0,0 @@ -SOURCE_REPOSITORY_URL=https://github.com/redhat-cop/containers-quickstarts.git -SOURCE_CONTEXT_DIR=jenkins-slaves/jenkins-slave-arachni -BUILDER_IMAGE_NAME=registry.access.redhat.com/openshift3/jenkins-slave-base-rhel7:v3.11 -NAME=jenkins-slave-arachni diff --git a/.openshift/params/golang b/.openshift/params/golang deleted file mode 100644 index 8a48d20f7..000000000 --- a/.openshift/params/golang +++ /dev/null @@ -1,4 +0,0 @@ -SOURCE_REPOSITORY_URL=https://github.com/redhat-cop/containers-quickstarts.git -SOURCE_CONTEXT_DIR=jenkins-slaves/jenkins-slave-golang -BUILDER_IMAGE_NAME=registry.access.redhat.com/openshift3/jenkins-slave-base-rhel7:v3.11 -NAME=jenkins-slave-golang diff --git a/.openshift/params/gradle b/.openshift/params/gradle deleted file mode 100644 index 2ed9c27bc..000000000 --- a/.openshift/params/gradle +++ /dev/null @@ -1,4 +0,0 @@ -SOURCE_REPOSITORY_URL=https://github.com/redhat-cop/containers-quickstarts.git -SOURCE_CONTEXT_DIR=jenkins-slaves/jenkins-slave-gradle -BUILDER_IMAGE_NAME=registry.access.redhat.com/openshift3/jenkins-slave-base-rhel7:v3.11 -NAME=jenkins-slave-gradle diff --git a/.openshift/params/mongodb b/.openshift/params/mongodb deleted file mode 100644 index 8a6472f09..000000000 --- a/.openshift/params/mongodb +++ /dev/null @@ -1,4 +0,0 @@ -SOURCE_REPOSITORY_URL=https://github.com/redhat-cop/containers-quickstarts.git -SOURCE_CONTEXT_DIR=jenkins-slaves/jenkins-slave-mongodb -BUILDER_IMAGE_NAME=registry.access.redhat.com/openshift3/jenkins-slave-base-rhel7:v3.11 -NAME=jenkins-slave-mongodb diff --git a/.openshift/params/mvn b/.openshift/params/mvn deleted file mode 100644 index b87dc2bea..000000000 --- a/.openshift/params/mvn +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_REPOSITORY_URL=https://github.com/redhat-cop/containers-quickstarts.git -SOURCE_CONTEXT_DIR=jenkins-slaves/jenkins-slave-mvn -BUILDER_IMAGE_NAME=registry.access.redhat.com/openshift3/jenkins-slave-maven-rhel7:latest -NAME=jenkins-slave-mvn -DOCKERFILE_PATH=Dockerfile \ No newline at end of file diff --git a/.openshift/params/npm b/.openshift/params/npm deleted file mode 100644 index 813798742..000000000 --- a/.openshift/params/npm +++ /dev/null @@ -1,4 +0,0 @@ -SOURCE_REPOSITORY_URL=https://github.com/openshift/jenkins -SOURCE_CONTEXT_DIR=agent-nodejs-8 -BUILDER_IMAGE_NAME=openshift/jenkins-slave-base-centos7:v3.11 -NAME=jenkins-slave-npm \ No newline at end of file diff --git a/.openshift/params/python b/.openshift/params/python deleted file mode 100644 index 1b324c26c..000000000 --- a/.openshift/params/python +++ /dev/null @@ -1,4 +0,0 @@ -SOURCE_REPOSITORY_URL=https://github.com/redhat-cop/containers-quickstarts.git -SOURCE_CONTEXT_DIR=jenkins-slaves/jenkins-slave-python -BUILDER_IMAGE_NAME=registry.access.redhat.com/openshift3/jenkins-slave-base-rhel7:v3.11 -NAME=jenkins-slave-python diff --git a/.openshift/params/test_pipelines/golang b/.openshift/params/test_pipelines/golang deleted file mode 100644 index b4f2a08de..000000000 --- a/.openshift/params/test_pipelines/golang +++ /dev/null @@ -1,2 +0,0 @@ -NAME=jenkins-slave-golang -PIPELINE_CONTEXT_DIR=jenkins-slaves/jenkins-slave-golang diff --git a/.openshift/params/zap b/.openshift/params/zap deleted file mode 100644 index 1972ee486..000000000 --- a/.openshift/params/zap +++ /dev/null @@ -1,4 +0,0 @@ -SOURCE_REPOSITORY_URL=https://github.com/rht-labs/owasp-zap-openshift.git -BUILDER_IMAGE_NAME=centos:centos7 -NAME=jenkins-slave-zap -DOCKERFILE_PATH=Dockerfile \ No newline at end of file diff --git a/hoverfly/Dockerfile b/hoverfly/Dockerfile index ad4c6b9e0..754adc0c8 100644 --- a/hoverfly/Dockerfile +++ b/hoverfly/Dockerfile @@ -1,10 +1,10 @@ -FROM registry.access.redhat.com/rhel7/rhel +FROM registry.access.redhat.com/ubi8/ubi -ENV HOVERFLY_DOWNLOAD_URI https://github.com/SpectoLabs/hoverfly/releases/download/v0.17.7/hoverfly_bundle_linux_amd64.zip +ENV HOVERFLY_DOWNLOAD_URI https://github.com/SpectoLabs/hoverfly/releases/download/v0.17.7/hoverfly_bundle_linux_amd64.zip ENV HOME /home/hoverfly RUN PACKAGE_LIST="less unzip" && \ - yum install -y --disablerepo=* --enablerepo=rhel-7-server-rpms $PACKAGE_LIST && \ + yum install -y $PACKAGE_LIST && \ rpm -V $PACKAGE_LIST && \ yum clean all -y && \ curl -o /tmp/hoverfly.zip -L $HOVERFLY_DOWNLOAD_URI && \ diff --git a/jenkins-slaves/jenkins-slave-ansible/Dockerfile b/jenkins-slaves/jenkins-slave-ansible/Dockerfile index 25a6fc404..bb462b1ee 100644 --- a/jenkins-slaves/jenkins-slave-ansible/Dockerfile +++ b/jenkins-slaves/jenkins-slave-ansible/Dockerfile @@ -1,28 +1,25 @@ -FROM openshift/jenkins-slave-base-centos7:v3.11 +FROM quay.io/openshift/origin-jenkins-agent-base:4.1 -ENV BASH_ENV=/usr/local/bin/scl_enable \ - ENV=/usr/local/bin/scl_enable \ - PROMPT_COMMAND=". /usr/local/bin/scl_enable" \ - ANSIBLE_VERSION=2.7.0 \ - ANSIBLE_REVISION=1 +LABEL com.redhat.component="jenkins-agent-ansible-ubi7-docker" \ + name="openshift/origin-jenkins-agent-ansible-ubi7" \ + version="4.1" \ + architecture="x86_64" \ + release="1" \ + io.k8s.display-name="Jenkins Agent Ansible" \ + io.k8s.description="The jenkins agent ansible image has ansible on top of the jenkins agent base image." \ + io.openshift.tags="openshift,jenkins,agent,ansible" -RUN INSTALL_PKGS="java-1.8.0-openjdk-devel.x86_64 git tree vim unzip curl python2-pip scl-utils" && \ - x86_EXTRA_RPMS=$(if [ "$(uname -m)" == "x86_64" ]; then echo -n java-1.8.0-openjdk-devel.i686 ; fi) && \ - yum install -y epel-release && \ - yum install -y --setopt=tsflags=nodocs $INSTALL_PKGS $x86_EXTRA_RPMS \ - https://releases.ansible.com/ansible/rpm/release/epel-7-x86_64/ansible-${ANSIBLE_VERSION}-${ANSIBLE_REVISION}.el7.ans.noarch.rpm && \ - rpm -V ansible && \ - yum clean all -y && \ - rm -rf /var/cache/yum +ENV ANSIBLE_VERSION=2.8.2 -# When bash is started non-interactively, to run a shell script, for example it -# looks for this variable and source the content of this file. This will enable -# the SCL for all scripts without need to do 'scl enable'. -ADD contrib/bin/scl_enable /usr/local/bin/scl_enable -ADD contrib/bin/configure-slave /usr/local/bin/configure-slave +ADD ubi.repo /etc/yum.repos.d/ubi.repo -RUN chown -R 1001:0 $HOME && \ - chmod -R g+rw $HOME +RUN INSTALL_PKGS="rh-python36-python-pip" && \ + DISABLE_REPOS=--disablerepo='rhel-*' && \ + yum $DISABLE_REPOS install -y $INSTALL_PKGS && \ + source scl_source enable rh-python36 && \ + scl enable rh-python36 bash && \ + python3 -m pip install ansible==$ANSIBLE_VERSION paramiko && \ + yum $DISABLE_REPOS clean all -y && \ + rm -rf /var/cache/yum USER 1001 - diff --git a/jenkins-slaves/jenkins-slave-ansible/Dockerfile.rhel7 b/jenkins-slaves/jenkins-slave-ansible/Dockerfile.rhel7 deleted file mode 100644 index 4867372fa..000000000 --- a/jenkins-slaves/jenkins-slave-ansible/Dockerfile.rhel7 +++ /dev/null @@ -1,25 +0,0 @@ -FROM openshift3/jenkins-slave-base-rhel7:v3.11 - -LABEL com.redhat.component="jenkins-slave-ansible-rhel7-docker" \ - name="openshift3/jenkins-slave-ansible-rhel7" \ - version="3.11" \ - architecture="x86_64" \ - release="1" \ - io.k8s.display-name="Jenkins Slave Ansible" \ - io.k8s.description="The jenkins slave ansible image has ansible on top of the jenkins slave base image." \ - io.openshift.tags="openshift,jenkins,slave,ansible" - -ENV ANSIBLE_VERSION=2.5.8 \ - ANSIBLE_REVISION=1 - -RUN INSTALL_PKGS="python2-pip" && \ - yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \ - yum install -y --setopt=tsflags=nodocs \ - --disablerepo=* --enablerepo=rhel-7-server-rpms --enablerepo=rhel-7-server-extras-rpms \ - --enablerepo=epel $INSTALL_PKGS \ - https://releases.ansible.com/ansible/rpm/release/epel-7-x86_64/ansible-${ANSIBLE_VERSION}-${ANSIBLE_REVISION}.el7.ans.noarch.rpm && \ - rpm -V ansible && \ - yum clean all -y && \ - rm -rf /var/cache/yum - -USER 1001 diff --git a/jenkins-slaves/jenkins-slave-ansible/scl_enable b/jenkins-slaves/jenkins-slave-ansible/scl_enable new file mode 100755 index 000000000..626bdc197 --- /dev/null +++ b/jenkins-slaves/jenkins-slave-ansible/scl_enable @@ -0,0 +1,2 @@ +unset BASH_ENV PROMPT_COMMAND ENV +source scl_source enable rh-python36 diff --git a/jenkins-slaves/jenkins-slave-ansible/ubi.repo b/jenkins-slaves/jenkins-slave-ansible/ubi.repo new file mode 100644 index 000000000..bf150c013 --- /dev/null +++ b/jenkins-slaves/jenkins-slave-ansible/ubi.repo @@ -0,0 +1,104 @@ +[ubi-7] +name = Red Hat Universal Base Image 7 Server (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-debug-rpms] +name = Red Hat Universal Base Image 7 Server (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-source-rpms] +name = Red Hat Universal Base Image 7 Server (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-optional-rpms] +name = Red Hat Universal Base Image 7 Server - Optional (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/optional/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-optional-debug-rpms] +name = Red Hat Universal Base Image 7 Server - Optional (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/optional/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-optional-source-rpms] +name = Red Hat Universal Base Image 7 Server - Optional (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/optional/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-extras-rpms] +name = Red Hat Universal Base Image 7 Server - Extras (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/extras/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-extras-debug-rpms] +name = Red Hat Universal Base Image 7 Server - Extras (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/extras/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-extras-source-rpms] +name = Red Hat Universal Base Image 7 Server - Extras (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/extras/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-rhah] +name = Red Hat Universal Base Image Atomic Host (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/atomic/7/7Server/$basearch/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-rhah-debug] +name = Red Hat Universal Base Image Atomic Host (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/atomic/7/7Server/$basearch/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-rhah-source] +name = Red Hat Universal Base Image Atomic Host (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/atomic/7/7Server/$basearch/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-server-rhscl-7-rpms] +name = Red Hat Software Collections RPMs for Red Hat Universal Base Image 7 Server +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/rhscl/1/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-server-rhscl-7-debug-rpms] +name = Red Hat Software Collections Debug RPMs for Red Hat Universal Base Image 7 Server +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/rhscl/1/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-server-rhscl-7-source-rpms] +name = Red Hat Software Collections Source RPMs for Red Hat Universal Base Image 7 Server +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/rhscl/1/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 diff --git a/jenkins-slaves/jenkins-slave-arachni/Dockerfile b/jenkins-slaves/jenkins-slave-arachni/Dockerfile index 12f4f75d8..d027f0f61 100644 --- a/jenkins-slaves/jenkins-slave-arachni/Dockerfile +++ b/jenkins-slaves/jenkins-slave-arachni/Dockerfile @@ -1,4 +1,4 @@ -FROM openshift/jenkins-slave-base-centos7:v3.11 +FROM quay.io/openshift/origin-jenkins-agent-base:4.1 ARG VERSION=1.5.1 ARG WEB_VERSION=0.5.12 diff --git a/jenkins-slaves/jenkins-slave-arachni/Dockerfile.rhel7 b/jenkins-slaves/jenkins-slave-arachni/Dockerfile.rhel7 deleted file mode 100644 index c588f8a2a..000000000 --- a/jenkins-slaves/jenkins-slave-arachni/Dockerfile.rhel7 +++ /dev/null @@ -1,24 +0,0 @@ -FROM openshift3/jenkins-slave-base-rhel7:v3.11 - -LABEL com.redhat.component="jenkins-slave-arachni-rhel7-docker" \ - name="openshift3/jenkins-slave-arachni-rhel7" \ - version="3.11" \ - architecture="x86_64" \ - release="1" \ - io.k8s.display-name="Jenkins Slave Arachni" \ - io.k8s.description="The jenkins slave arachni image has the Arachni web application security scanner on top of the jenkins slave base image." \ - io.openshift.tags="openshift,jenkins,slave,arachni" - - -ARG VERSION=1.5.1 -ARG WEB_VERSION=0.5.12 - -WORKDIR /arachni - -RUN curl -sLo- https://github.com/Arachni/arachni/releases/download/v${VERSION}/arachni-${VERSION}-${WEB_VERSION}-linux-x86_64.tar.gz | tar xvz -C /arachni --strip-components=1 && \ - chgrp -R 0 /arachni && \ - chmod -R g+rw /arachni - -COPY reporters ./system/gems/gems/arachni-${VERSION}/components/reporters - -USER 1001 diff --git a/jenkins-slaves/jenkins-slave-golang/Dockerfile b/jenkins-slaves/jenkins-slave-golang/Dockerfile index 5ed9ce562..e6c7896f8 100644 --- a/jenkins-slaves/jenkins-slave-golang/Dockerfile +++ b/jenkins-slaves/jenkins-slave-golang/Dockerfile @@ -1,4 +1,4 @@ -FROM openshift/jenkins-slave-base-centos7:v3.11 +FROM quay.io/openshift/origin-jenkins-agent-base:4.1 ENV GO_VERSION_DEFAULT=1.10.2 \ GOROOT=/usr/local/go \ diff --git a/jenkins-slaves/jenkins-slave-golang/Dockerfile.rhel7 b/jenkins-slaves/jenkins-slave-golang/Dockerfile.rhel7 deleted file mode 100644 index 5e24e4248..000000000 --- a/jenkins-slaves/jenkins-slave-golang/Dockerfile.rhel7 +++ /dev/null @@ -1,36 +0,0 @@ -FROM openshift3/jenkins-slave-base-rhel7:v3.11 - -LABEL com.redhat.component="jenkins-slave-golang-rhel7-docker" \ - name="openshift3/jenkins-slave-golang-rhel7" \ - version="3.11" \ - architecture="x86_64" \ - release="1" \ - io.k8s.display-name="Jenkins Slave Golang" \ - io.k8s.description="The jenkins slave golang image has the go runtime on top of the jenkins slave base image." \ - io.openshift.tags="openshift,jenkins,slave,golang" - -ENV GO_VERSION_DEFAULT=1.10.2 \ - GOROOT=/usr/local/go \ - GOPATH=/usr/src/go -ENV PATH=$GOPATH/bin:$GOROOT/bin:$PATH - -WORKDIR /opt -RUN curl -L -o /tmp/sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492.zip && \ - unzip /tmp/sonar-scanner.zip && \ - mv sonar-scanner-* sonar-scanner && \ - ln -s /opt/sonar-scanner/bin/sonar-scanner /usr/local/bin/sonar-scanner && \ - chmod 755 /usr/local/bin/sonar-scanner -RUN if [ -z $GO_VERSION ] ; then GO_VERSION=${GO_VERSION_DEFAULT} ; fi && \ - curl -L -o /usr/go${GO_VERSION}.linux-amd64.tar.gz https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz && \ - mkdir -p /usr/src/go/src/redhat && \ - tar -xzf /usr/go${GO_VERSION}.linux-amd64.tar.gz && \ - mv $(pwd)/go /usr/local/ && \ - chown -R 1001 /usr/src/go && \ - chown -R 1001 /usr/local/go && \ - rm -f /usr/go${GO_VERSION}.linux-amd64.tar.gz - -USER 1001 - -# useful for verification of install -# RUN go version -# RUN go env diff --git a/jenkins-slaves/jenkins-slave-gradle/Dockerfile b/jenkins-slaves/jenkins-slave-gradle/Dockerfile index 8b7fa526b..51022858c 100644 --- a/jenkins-slaves/jenkins-slave-gradle/Dockerfile +++ b/jenkins-slaves/jenkins-slave-gradle/Dockerfile @@ -1,4 +1,4 @@ -FROM openshift/jenkins-slave-base-centos7:v3.11 +FROM quay.io/openshift/origin-jenkins-agent-base:4.1 ENV GRADLE_VERSION=4.8 diff --git a/jenkins-slaves/jenkins-slave-gradle/Dockerfile.rhel7 b/jenkins-slaves/jenkins-slave-gradle/Dockerfile.rhel7 deleted file mode 100644 index c23dfe7f1..000000000 --- a/jenkins-slaves/jenkins-slave-gradle/Dockerfile.rhel7 +++ /dev/null @@ -1,22 +0,0 @@ -FROM openshift3/jenkins-slave-base-rhel7:v3.11 - -LABEL com.redhat.component="jenkins-slave-gradle-rhel7-docker" \ - name="openshift3/jenkins-slave-gradle-rhel7" \ - version="3.11" \ - architecture="x86_64" \ - release="1" \ - io.k8s.display-name="Jenkins Slave Gradle" \ - io.k8s.description="The jenkins slave gradle image has gradle on top of the jenkins slave base image." \ - io.openshift.tags="openshift,jenkins,slave,gradle" - -ENV GRADLE_VERSION=4.8 - -RUN curl -skL -o /tmp/gradle-bin.zip https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip && \ - mkdir -p /opt/gradle && \ - unzip -q /tmp/gradle-bin.zip -d /opt/gradle && \ - ln -sf /opt/gradle/gradle-$GRADLE_VERSION/bin/gradle /usr/local/bin/gradle && \ - rm -f /tmp/gradle-bin.zip && \ - chown -R 1001:0 /opt/gradle && \ - chmod -R g+rw /opt/gradle - -USER 1001 diff --git a/jenkins-slaves/jenkins-slave-mongodb/Dockerfile b/jenkins-slaves/jenkins-slave-mongodb/Dockerfile index 05cf15add..7e355da53 100644 --- a/jenkins-slaves/jenkins-slave-mongodb/Dockerfile +++ b/jenkins-slaves/jenkins-slave-mongodb/Dockerfile @@ -1,10 +1,11 @@ -FROM openshift/jenkins-slave-base-centos7:v3.11 +FROM quay.io/openshift/origin-jenkins-agent-base:4.1 USER root -COPY mongodb-org-3.6.repo /etc/yum.repos.d/ +COPY ubi.repo mongodb-org-3.6.repo /etc/yum.repos.d/ -RUN yum install -y mongodb-org-tools mongodb-org-shell && \ +RUN DISABLE_REPOS=--disablerepo='rhel-*' && \ + yum $DISABLE_REPOS --setopt=tsflags=nodocs install -y mongodb-org-tools mongodb-org-shell && \ yum clean all -y && \ rm -rf /var/cache/yum diff --git a/jenkins-slaves/jenkins-slave-mongodb/Dockerfile.rhel7 b/jenkins-slaves/jenkins-slave-mongodb/Dockerfile.rhel7 deleted file mode 100644 index d951fe13a..000000000 --- a/jenkins-slaves/jenkins-slave-mongodb/Dockerfile.rhel7 +++ /dev/null @@ -1,20 +0,0 @@ -FROM openshift3/jenkins-slave-base-rhel7:v3.11 - -LABEL com.redhat.component="jenkins-slave-mongodb-rhel7-docker" \ - name="openshift3/jenkins-slave-mongodb-rhel7" \ - version="3.11" \ - architecture="x86_64" \ - release="1" \ - io.k8s.display-name="Jenkins Slave MongoDB" \ - io.k8s.description="The jenkins slave gradle image has MongoDB CLI tools on top of the jenkins slave base image." \ - io.openshift.tags="openshift,jenkins,slave,mongodb" - -ENV MONGODB_VERSION=3.6 - -COPY mongodb-org-${MONGODB_VERSION}.repo /etc/yum.repos.d/ - -RUN yum install -y mongodb-org-tools mongodb-org-shell && \ - yum clean all -y && \ - rm -rf /var/cache/yum - -USER 1001 diff --git a/jenkins-slaves/jenkins-slave-mongodb/ubi.repo b/jenkins-slaves/jenkins-slave-mongodb/ubi.repo new file mode 100644 index 000000000..bf150c013 --- /dev/null +++ b/jenkins-slaves/jenkins-slave-mongodb/ubi.repo @@ -0,0 +1,104 @@ +[ubi-7] +name = Red Hat Universal Base Image 7 Server (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-debug-rpms] +name = Red Hat Universal Base Image 7 Server (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-source-rpms] +name = Red Hat Universal Base Image 7 Server (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-optional-rpms] +name = Red Hat Universal Base Image 7 Server - Optional (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/optional/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-optional-debug-rpms] +name = Red Hat Universal Base Image 7 Server - Optional (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/optional/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-optional-source-rpms] +name = Red Hat Universal Base Image 7 Server - Optional (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/optional/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-extras-rpms] +name = Red Hat Universal Base Image 7 Server - Extras (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/extras/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-extras-debug-rpms] +name = Red Hat Universal Base Image 7 Server - Extras (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/extras/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-extras-source-rpms] +name = Red Hat Universal Base Image 7 Server - Extras (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/extras/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-rhah] +name = Red Hat Universal Base Image Atomic Host (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/atomic/7/7Server/$basearch/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-rhah-debug] +name = Red Hat Universal Base Image Atomic Host (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/atomic/7/7Server/$basearch/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-rhah-source] +name = Red Hat Universal Base Image Atomic Host (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/atomic/7/7Server/$basearch/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-server-rhscl-7-rpms] +name = Red Hat Software Collections RPMs for Red Hat Universal Base Image 7 Server +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/rhscl/1/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-server-rhscl-7-debug-rpms] +name = Red Hat Software Collections Debug RPMs for Red Hat Universal Base Image 7 Server +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/rhscl/1/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-server-rhscl-7-source-rpms] +name = Red Hat Software Collections Source RPMs for Red Hat Universal Base Image 7 Server +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/rhscl/1/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 diff --git a/jenkins-slaves/jenkins-slave-mvn/Dockerfile b/jenkins-slaves/jenkins-slave-mvn/Dockerfile index 3b7d86a55..e61fd2f88 100644 --- a/jenkins-slaves/jenkins-slave-mvn/Dockerfile +++ b/jenkins-slaves/jenkins-slave-mvn/Dockerfile @@ -1,2 +1,2 @@ -FROM openshift3/jenkins-agent-maven-35-rhel7:latest +FROM quay.io/openshift/origin-jenkins-agent-base:4.1 ADD settings.xml $HOME/.m2/settings.xml diff --git a/jenkins-slaves/jenkins-slave-python/Dockerfile b/jenkins-slaves/jenkins-slave-python/Dockerfile index ada5961af..505e7e3d0 100644 --- a/jenkins-slaves/jenkins-slave-python/Dockerfile +++ b/jenkins-slaves/jenkins-slave-python/Dockerfile @@ -1,4 +1,4 @@ -FROM openshift/jenkins-slave-base-centos7:v3.11 +FROM quay.io/openshift/origin-jenkins-agent-base:4.1 EXPOSE 8080 @@ -10,14 +10,16 @@ ENV PYTHON_VERSION=3.6 \ LANG=en_US.UTF-8 \ PIP_NO_CACHE_DIR=off -RUN INSTALL_PKGS="rh-python36 rh-python36-python-devel rh-python36-python-setuptools rh-python36-python-wheel rh-python36-python-pip nss_wrapper \ - httpd24 httpd24-httpd-devel httpd24-mod_ssl httpd24-mod_auth_kerb httpd24-mod_ldap \ - httpd24-mod_session atlas-devel gcc-gfortran libffi-devel libtool-ltdl enchant" && \ - yum install -y centos-release-scl && \ - yum -y --setopt=tsflags=nodocs install --enablerepo=centosplus $INSTALL_PKGS && \ +ADD ubi.repo /etc/yum.repos.d/ubi.repo + +RUN INSTALL_PKGS=" \ + rh-python36 rh-python36-python-devel rh-python36-python-setuptools rh-python36-python-wheel rh-python36-python-pip nss_wrapper \ + httpd24 httpd24-httpd-devel httpd24-mod_ssl httpd24-mod_auth_kerb httpd24-mod_ldap \ + httpd24-mod_session atlas-devel gcc-gfortran libffi-devel libtool-ltdl enchant" && \ + DISABLE_REPOS=--disablerepo='rhel-*' && \ + yum $DISABLE_REPOS install -y yum-utils && \ + yum -y --setopt=tsflags=nodocs $DISABLE_REPOS install $INSTALL_PKGS && \ rpm -V $INSTALL_PKGS && \ - # Remove centos-logos (httpd dependency) to keep image size smaller. - rpm -e --nodeps centos-logos && \ yum -y clean all --enablerepo='*' && \ source scl_source enable rh-python36 && \ scl enable rh-python36 bash && \ @@ -28,4 +30,4 @@ ENV BASH_ENV=/usr/share/container-scripts/scl_enable \ ENV=/usr/share/container-scripts/scl_enable \ PROMPT_COMMAND=". /usr/share/container-scripts/scl_enable" -USER 1001 \ No newline at end of file +USER 1001 diff --git a/jenkins-slaves/jenkins-slave-python/Dockerfile.rhel7 b/jenkins-slaves/jenkins-slave-python/Dockerfile.rhel7 deleted file mode 100644 index 3d6b2622b..000000000 --- a/jenkins-slaves/jenkins-slave-python/Dockerfile.rhel7 +++ /dev/null @@ -1,32 +0,0 @@ -FROM openshift3/jenkins-slave-base-rhel7:v3.11 - -EXPOSE 8080 - -ENV PYTHON_VERSION=3.6 \ - PATH=$HOME/.local/bin/:$PATH \ - PYTHONUNBUFFERED=1 \ - PYTHONIOENCODING=UTF-8 \ - LC_ALL=en_US.UTF-8 \ - LANG=en_US.UTF-8 \ - PIP_NO_CACHE_DIR=off - -ADD prepare-yum-repositories prepare-yum-repositories - -RUN INSTALL_PKGS="rh-python36 rh-python36-python-devel rh-python36-python-setuptools rh-python36-python-wheel rh-python36-python-pip nss_wrapper \ - httpd24 httpd24-httpd-devel httpd24-mod_ssl httpd24-mod_auth_kerb httpd24-mod_ldap \ - httpd24-mod_session atlas-devel gcc-gfortran libffi-devel libtool-ltdl enchant" && \ - yum install -y yum-utils && \ - ./prepare-yum-repositories rhel-server-rhscl-7-rpms && \ - yum -y --setopt=tsflags=nodocs install $INSTALL_PKGS && \ - rpm -V $INSTALL_PKGS && \ - yum -y clean all --enablerepo='*' && \ - source scl_source enable rh-python36 && \ - scl enable rh-python36 bash && \ - python3 -m pip install twine - -ADD scl_enable /usr/share/container-scripts/ -ENV BASH_ENV=/usr/share/container-scripts/scl_enable \ - ENV=/usr/share/container-scripts/scl_enable \ - PROMPT_COMMAND=". /usr/share/container-scripts/scl_enable" - -USER 1001 \ No newline at end of file diff --git a/jenkins-slaves/jenkins-slave-python/scl_enable b/jenkins-slaves/jenkins-slave-python/scl_enable index 90a38431e..626bdc197 100755 --- a/jenkins-slaves/jenkins-slave-python/scl_enable +++ b/jenkins-slaves/jenkins-slave-python/scl_enable @@ -1,2 +1,2 @@ unset BASH_ENV PROMPT_COMMAND ENV -source scl_source enable rh-python36 \ No newline at end of file +source scl_source enable rh-python36 diff --git a/jenkins-slaves/jenkins-slave-python/ubi.repo b/jenkins-slaves/jenkins-slave-python/ubi.repo new file mode 100644 index 000000000..bf150c013 --- /dev/null +++ b/jenkins-slaves/jenkins-slave-python/ubi.repo @@ -0,0 +1,104 @@ +[ubi-7] +name = Red Hat Universal Base Image 7 Server (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-debug-rpms] +name = Red Hat Universal Base Image 7 Server (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-source-rpms] +name = Red Hat Universal Base Image 7 Server (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-optional-rpms] +name = Red Hat Universal Base Image 7 Server - Optional (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/optional/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-optional-debug-rpms] +name = Red Hat Universal Base Image 7 Server - Optional (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/optional/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-optional-source-rpms] +name = Red Hat Universal Base Image 7 Server - Optional (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/optional/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-extras-rpms] +name = Red Hat Universal Base Image 7 Server - Extras (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/extras/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-extras-debug-rpms] +name = Red Hat Universal Base Image 7 Server - Extras (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/extras/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-server-extras-source-rpms] +name = Red Hat Universal Base Image 7 Server - Extras (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/extras/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-rhah] +name = Red Hat Universal Base Image Atomic Host (RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/atomic/7/7Server/$basearch/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-rhah-debug] +name = Red Hat Universal Base Image Atomic Host (Debug RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/atomic/7/7Server/$basearch/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-7-rhah-source] +name = Red Hat Universal Base Image Atomic Host (Source RPMs) +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/atomic/7/7Server/$basearch/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-server-rhscl-7-rpms] +name = Red Hat Software Collections RPMs for Red Hat Universal Base Image 7 Server +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/rhscl/1/os +enabled = 1 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-server-rhscl-7-debug-rpms] +name = Red Hat Software Collections Debug RPMs for Red Hat Universal Base Image 7 Server +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/rhscl/1/debug +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1 + +[ubi-server-rhscl-7-source-rpms] +name = Red Hat Software Collections Source RPMs for Red Hat Universal Base Image 7 Server +baseurl = https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/$basearch/rhscl/1/source/SRPMS +enabled = 0 +gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release +gpgcheck = 1