11##############################################
22# Stage 1 : Build go-init
33##############################################
4- FROM openshift/origin-release:golang-1.12 AS go-init-builder
4+ FROM registry.access.redhat.com/ubi9/go-toolset:1.21 AS go-init-builder
55ARG jenkins_version=latest
66WORKDIR /go/src/github.com/openshift/jenkins
77COPY . .
88WORKDIR /go/src/github.com/openshift/jenkins/go-init
9- RUN go build . && cp go-init /usr/bin
9+ RUN GO111MODULE=off go build -o /usr/bin/go-init .
1010
1111##############################################
1212# Stage 2 : Build slave-base with go-init
1313##############################################
14- FROM quay.io/openshift/origin-cli:4.16
14+ FROM registry.access.redhat.com/ubi9:latest
1515ARG jenkins_version=latest
16- MAINTAINER Akram Ben Aissi <abenaiss@redhat.com>
1716COPY --from=go-init-builder /usr/bin/go-init /usr/bin/go-init
1817# Jenkins image for OpenShift
1918#
2019# This image provides a Jenkins server, primarily intended for integration with
21- # OpenShift v3 .
20+ # OpenShift v4 .
2221#
2322# Volumes:
2423# * /var/jenkins_home
@@ -31,31 +30,35 @@ ENV JENKINS_VERSION=2 \
3130 HOME=/var/lib/jenkins \
3231 JENKINS_HOME=/var/lib/jenkins \
3332 JENKINS_UC=https://updates.jenkins.io \
34- OPENSHIFT_JENKINS_IMAGE_VERSION=4.10 \
33+ OPENSHIFT_JENKINS_IMAGE_VERSION=4.17 \
3534 LANG=en_US.UTF-8 \
3635 LC_ALL=en_US.UTF-8 \
3736 INSTALL_JENKINS_VIA_RPMS=false
3837
39- LABEL k8s.io.description="Jenkins is a continuous integration server" \
40- k8s.io.display-name="Jenkins 2" \
41- openshift.io.expose-services="8080:http" \
42- openshift.io.tags="jenkins,jenkins2,ci" \
38+ LABEL io.k8s.description="Jenkins is a continuous integration server" \
39+ io.k8s.display-name="Jenkins 2" \
40+ maintainer="Prashant Dhamdhere <prdhamdh@redhat.com>, Vinu Kochukuttan <vkochuku@redhat.com>" \
41+ io.openshift.expose-services="8080:http" \
42+ io.openshift.tags="jenkins,jenkins2,ci" \
4343 io.jenkins.version="${jenkins_version}" \
44- io.openshift.s2i.scripts-url=image:///usr/libexec/s2i
44+ io.openshift.s2i.scripts-url=" image:///usr/libexec/s2i"
4545
4646# 8080 for main web interface, 50000 for slave agents
4747EXPOSE 8080 50000
4848
49- RUN rm /etc/yum.repos.d/*
50- COPY contrib/openshift/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
51- RUN curl http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-Official -o /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS && \
52- INSTALL_PKGS="dejavu-sans-fonts rsync gettext git git-lfs tar zip unzip openssl bzip2 java-21-openjdk java-21-openjdk-devel java-17-openjdk java-17-openjdk-devel jq xmlstarlet" && \
53- DISABLES="" && \
54- yum $DISABLES -y --setopt=tsflags=nodocs --disableplugin=subscription-manager install epel-release && \
55- yum $DISABLES -y --setopt=tsflags=nodocs --disableplugin=subscription-manager install $INSTALL_PKGS && \
56- yum update --excludepkgs redhat-release -y && \
49+ RUN INSTALL_PKGS="dejavu-sans-fonts wget rsync gettext git git-lfs tar zip unzip openssl bzip2 java-21-openjdk java-21-openjdk-devel java-17-openjdk java-17-openjdk-devel jq glibc-locale-source xmlstarlet glibc-langpack-en" && \
50+ yum install -y $INSTALL_PKGS && \
51+ yum update -y && \
5752 rpm -V $INSTALL_PKGS && \
5853 yum clean all && \
54+ mkdir -p /usr/share/openshift/bin/oc-41{2..7} && \
55+ curl -sL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.12/openshift-client-linux.tar.gz | tar zxf - -C /usr/share/openshift/bin/oc-412/ oc && \
56+ curl -sL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.13/openshift-client-linux.tar.gz | tar zxf - -C /usr/share/openshift/bin/oc-413/ oc && \
57+ curl -sL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.14/openshift-client-linux.tar.gz | tar zxf - -C /usr/share/openshift/bin/oc-414/ oc && \
58+ curl -sL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.15/openshift-client-linux.tar.gz | tar zxf - -C /usr/share/openshift/bin/oc-415/ oc && \
59+ curl -sL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.16/openshift-client-linux.tar.gz | tar zxf - -C /usr/share/openshift/bin/oc-416/ oc && \
60+ curl -sL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.17/openshift-client-linux.tar.gz | tar zxf - -C /usr/share/openshift/bin/oc-417/ oc && \
61+ localedef -f UTF-8 -i en_US en_US.UTF-8 && \
5962 alternatives --set java $(alternatives --display java | grep 'family java-21-openjdk' | cut -d ' ' -f 1) && \
6063 alternatives --set javac $(alternatives --display javac | grep 'family java-21-openjdk' | cut -d ' ' -f 1) && \
6164 alternatives --family $(alternatives --display java | grep 'family java-21-openjdk' | cut -d ' ' -f 4) --install /usr/bin/jar jar $(alternatives --display java | grep 'family java-21-openjdk' | cut -d' ' -f1 | sed 's,/[^/]*$,/jar,') 1 && \
@@ -67,7 +70,7 @@ ADD ./contrib/s2i /usr/libexec/s2i
6770ADD release.version /tmp/release.version
6871
6972RUN /usr/local/bin/install-jenkins-core-plugins.sh /opt/openshift/bundle-plugins.txt && \
70- rmdir /var/log/jenkins && \
73+ rm -rf /var/log/jenkins && \
7174 chmod -R 775 /etc/alternatives && \
7275 chmod -R 775 /var/lib/alternatives && \
7376 chmod -R 775 /usr/lib/jvm && \
@@ -81,6 +84,7 @@ RUN /usr/local/bin/install-jenkins-core-plugins.sh /opt/openshift/bundle-plugins
8184 /usr/local/bin/fix-permissions /var/lib/jenkins && \
8285 /usr/local/bin/fix-permissions /var/log
8386
87+
8488VOLUME ["/var/lib/jenkins"]
8589
8690USER 1001
0 commit comments