Last active
October 28, 2018 22:50
-
-
Save sleroy/502c013a1865f02b8ceeb38be536a22b to your computer and use it in GitHub Desktop.
maven + gcloud + docker image
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# docker build -t sleroy/byoskill-agent:0.1 . | |
FROM docker:rc | |
MAINTAINER sleroy <[email protected]> | |
# GKE build & testing environment for Circle CI 2.0 | |
USER root | |
ENV NODEJS_VERSION v8 | |
ENV DOCKER_VERSION rc | |
ARG VERSION=3.26 | |
ARG AGENT_WORKDIR=/home/agent | |
ARG uid=10000 | |
ARG gid=10000 | |
ENV HOME /home/${user} | |
LABEL Description="This is a base image, which provides the Jenkins agent executable (slave.jar)" Vendor="Jenkins project" Version="3.23" | |
RUN mkdir /home/jenkins | |
WORKDIR /home/jenkins | |
# Default to UTF-8 file.encoding | |
ENV LANG C.UTF-8 | |
RUN apk add --update --no-cache \ | |
vim \ | |
curl ca-certificates \ | |
git \ | |
openjdk8 \ | |
git \ | |
zip \ | |
curl \ | |
perl \ | |
coreutils \ | |
bash \ | |
wget \ | |
unzip \ | |
nodejs \ | |
python | |
# Download GCloud | |
RUN wget -O google-cloud-sdk.tar.gz https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-222.0.0-linux-x86_64.tar.gz && \ | |
tar -zxvf google-cloud-sdk.tar.gz && \ | |
rm google-cloud-sdk.tar.gz && \ | |
./google-cloud-sdk/install.sh --quiet | |
# Download MAVEN | |
RUN wget http://www.pirbot.com/mirrors/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz | |
RUN tar xzf apache-maven-3.5.4-bin.tar.gz | |
ENV MVN_HOME=/home/jenkins/apache-maven-3.5.4 | |
# Download Gradle | |
RUN wget https://services.gradle.org/distributions/gradle-4.10.2-bin.zip | |
RUN unzip gradle-4.10.2-bin.zip | |
ENV GRADLE_HOME=/home/jenkins/gradle-4.10.2 | |
ENV PATH=/home/jenkins/google-cloud-sdk/bin:/root/.nodebrew/current/bin:$GRADLE_HOME/bin:$PATH | |
RUN gcloud components update --quiet | |
RUN gcloud --quiet components install docker-credential-gcr kubectl | |
# Env variables | |
RUN curl --create-dirs -sSLo /usr/share/jenkins/slave.jar https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar \ | |
&& chmod 755 /usr/share/jenkins \ | |
&& chmod 644 /usr/share/jenkins/slave.jar | |
ENV AGENT_WORKDIR=${AGENT_WORKDIR} | |
RUN mkdir /home/${user}/.jenkins && mkdir -p ${AGENT_WORKDIR} | |
# setup PATH | |
# setup openjdk environment | |
ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk/jre | |
ENV PATH /home/jenkins/google-cloud-sdk/bin:/root/.nodebrew/current/bin:$MVN_HOME/bin:$GRADLE_HOME/bin:$PATH | |
ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin | |
RUN java -version | |
RUN mvn -v | |
RUN gradle -v | |
RUN node -v | |
RUN gcloud -v |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment