Skip to content

Commit

Permalink
update maven slave to maven v3.3 (#266)
Browse files Browse the repository at this point in the history
  • Loading branch information
bparees committed Apr 4, 2017
1 parent 5ff1b50 commit 5dbd8cf
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 18 deletions.
37 changes: 33 additions & 4 deletions slave-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,43 @@ RUN yum install -y centos-release-scl-rh && \
yum install -y --setopt=tsflags=nodocs install $INSTALL_PKGS && \
rpm -V $INSTALL_PKGS && \
yum clean all && \
set -o pipefail && curl -L https://github.com/openshift/origin/releases/download/v1.4.1/openshift-origin-client-tools-v1.4.1-3f9807a-linux-64bit.tar.gz | \
tar -zx && \
mv openshift*/oc /usr/local/bin && \
rm -rf openshift-origin-client-tools-* && \
mkdir -p /home/jenkins && \
chown -R 1001:0 /home/jenkins && \
chmod -R g+w /home/jenkins && \
chmod 775 /etc/passwd && \
set -o pipefail && curl -L https://github.com/openshift/origin/releases/download/v1.4.1/openshift-origin-client-tools-v1.4.1-3f9807a-linux-64bit.tar.gz | \
tar -zx && \
mv openshift*/oc /usr/local/bin && \
rm -rf openshift-origin-client-tools-*
chmod -R 775 /etc/alternatives && \
chmod -R 775 /var/lib/alternatives && \
chmod -R 775 /usr/lib/jvm && \
chmod 775 /usr/bin && \
chmod 775 /usr/lib/jvm-exports && \
chmod 775 /usr/share/man/man1 && \
unlink /usr/bin/java && \
unlink /usr/bin/jjs && \
unlink /usr/bin/keytool && \
unlink /usr/bin/orbd && \
unlink /usr/bin/pack200 && \
unlink /usr/bin/policytool && \
unlink /usr/bin/rmid && \
unlink /usr/bin/rmiregistry && \
unlink /usr/bin/servertool && \
unlink /usr/bin/tnameserv && \
unlink /usr/bin/unpack200 && \
unlink /usr/lib/jvm-exports/jre && \
unlink /usr/share/man/man1/java.1.gz && \
unlink /usr/share/man/man1/jjs.1.gz && \
unlink /usr/share/man/man1/keytool.1.gz && \
unlink /usr/share/man/man1/orbd.1.gz && \
unlink /usr/share/man/man1/pack200.1.gz && \
unlink /usr/share/man/man1/policytool.1.gz && \
unlink /usr/share/man/man1/rmid.1.gz && \
unlink /usr/share/man/man1/rmiregistry.1.gz && \
unlink /usr/share/man/man1/servertool.1.gz && \
unlink /usr/share/man/man1/tnameserv.1.gz && \
unlink /usr/share/man/man1/unpack200.1.gz

# Copy the entrypoint
ADD contrib/bin/* /usr/local/bin/
Expand Down
33 changes: 32 additions & 1 deletion slave-base/Dockerfile.rhel7
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,38 @@ RUN yum-config-manager --disable epel >/dev/null || : && \
yum clean all && \
mkdir -p /home/jenkins && \
chown -R 1001:0 /home/jenkins && \
chmod -R g+w /home/jenkins
chmod -R g+w /home/jenkins && \
chmod 775 /etc/passwd && \
chmod -R 775 /etc/alternatives && \
chmod -R 775 /var/lib/alternatives && \
chmod -R 775 /usr/lib/jvm && \
chmod 775 /usr/bin && \
chmod 775 /usr/lib/jvm-exports && \
chmod 775 /usr/share/man/man1 && \
unlink /usr/bin/java && \
unlink /usr/bin/jjs && \
unlink /usr/bin/keytool && \
unlink /usr/bin/orbd && \
unlink /usr/bin/pack200 && \
unlink /usr/bin/policytool && \
unlink /usr/bin/rmid && \
unlink /usr/bin/rmiregistry && \
unlink /usr/bin/servertool && \
unlink /usr/bin/tnameserv && \
unlink /usr/bin/unpack200 && \
unlink /usr/lib/jvm-exports/jre && \
unlink /usr/share/man/man1/java.1.gz && \
unlink /usr/share/man/man1/jjs.1.gz && \
unlink /usr/share/man/man1/keytool.1.gz && \
unlink /usr/share/man/man1/orbd.1.gz && \
unlink /usr/share/man/man1/pack200.1.gz && \
unlink /usr/share/man/man1/policytool.1.gz && \
unlink /usr/share/man/man1/rmid.1.gz && \
unlink /usr/share/man/man1/rmiregistry.1.gz && \
unlink /usr/share/man/man1/servertool.1.gz && \
unlink /usr/share/man/man1/tnameserv.1.gz && \
unlink /usr/share/man/man1/unpack200.1.gz

# Copy the entrypoint
ADD contrib/bin/* /usr/local/bin/

Expand Down
22 changes: 15 additions & 7 deletions slave-maven/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,28 @@ FROM openshift/jenkins-slave-base-centos7

MAINTAINER Ben Parees <bparees@redhat.com>

ENV MAVEN_VERSION=3.3.9
ENV MAVEN_VERSION=3.3 \
BASH_ENV=/usr/local/bin/scl_enable \
ENV=/usr/local/bin/scl_enable \
PROMPT_COMMAND=". /usr/local/bin/scl_enable"

# Install Maven
RUN INSTALL_PKGS="java-1.8.0-openjdk-devel" && \
RUN INSTALL_PKGS="java-1.8.0-openjdk-devel rh-maven33*" && \
yum install -y centos-release-scl-rh && \
yum install -y --enablerepo=centosplus $INSTALL_PKGS && \
rpm -V $INSTALL_PKGS && \
rpm -V ${INSTALL_PKGS//\*/} && \
rpm -e java-1.7.0-openjdk --nodeps && \
rpm -e java-1.7.0-openjdk-devel --nodeps && \
rpm -e java-1.7.0-openjdk-headless --nodeps && \
yum clean all -y && \
(curl -v https://www.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz | \
tar -zx -C /usr/local) && \
ln -sf /usr/local/apache-maven-$MAVEN_VERSION/bin/mvn /usr/local/bin/mvn && \
mkdir -p $HOME/.m2

ADD ./contrib/settings.xml $HOME/.m2/
# 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 ./contrib/settings.xml $HOME/.m2/

RUN chown -R 1001:0 $HOME && \
chmod -R g+rw $HOME
Expand Down
21 changes: 16 additions & 5 deletions slave-maven/Dockerfile.rhel7
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,29 @@ LABEL com.redhat.component="jenkins-slave-maven-rhel7-docker" \
io.k8s.description="The jenkins slave maven image has the maven tools on top of the jenkins slave base image." \
io.openshift.tags="openshift,jenkins,slave,maven"

ENV MAVEN_VERSION=3.0.5
ENV MAVEN_VERSION=3.3 \
BASH_ENV=/usr/local/bin/scl_enable \
ENV=/usr/local/bin/scl_enable \
PROMPT_COMMAND=". /usr/local/bin/scl_enable"

# Install Maven
RUN yum-config-manager --disable epel >/dev/null || : && \
INSTALL_PKGS="java-1.8.0-openjdk-devel maven" && \
RUN yum-config-manager --enable rhel-server-rhscl-7-rpms && \
yum-config-manager --disable epel >/dev/null || : && \
INSTALL_PKGS="java-1.8.0-openjdk-devel rh-maven33*" && \
yum install -y $INSTALL_PKGS && \
rpm -V $INSTALL_PKGS && \
rpm -e java-1.7.0-openjdk --nodeps && \
rpm -e java-1.7.0-openjdk-devel --nodeps && \
rpm -e java-1.7.0-openjdk-headless --nodeps && \
rpm -V ${INSTALL_PKGS//\*/} && \
yum clean all -y && \
mkdir -p $HOME/.m2

ADD ./contrib/settings.xml $HOME/.m2/
# 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 ./contrib/settings.xml $HOME/.m2/

RUN chown -R 1001:0 $HOME && \
chmod -R g+rw $HOME
Expand Down
3 changes: 3 additions & 0 deletions slave-maven/contrib/bin/scl_enable
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# This will make scl collection binaries work out of box.
unset BASH_ENV PROMPT_COMMAND ENV
source scl_source enable rh-maven33
2 changes: 1 addition & 1 deletion slave-maven/test/run
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
#

docker run ${IMAGE_NAME} oc
docker run --entrypoint="mvn" ${IMAGE_NAME} --version
docker run --entrypoint="/bin/bash" ${IMAGE_NAME} "-c" "mvn --version"

echo "SUCCESS!"

0 comments on commit 5dbd8cf

Please sign in to comment.