|
| 1 | +FROM ubuntu:16.04 |
| 2 | + |
| 3 | +# Image containing: |
| 4 | +# 1. Ubuntu:16.04 |
| 5 | +# 2. Java (1.8.0_161) |
| 6 | +# 3. Maven (3.5.4) |
| 7 | +# 4. Node.js (8.9.4) |
| 8 | +# 5. NPM (5.6.0) |
| 9 | +# 6. Bower (1.8.2) |
| 10 | +# 7. Yarn (1.5.1) |
| 11 | +# 8. Go (1.10.2) |
| 12 | +# 9. Ruby() |
| 13 | +# 10. Gradle (4.5.1) |
| 14 | +# 11. Unzip |
| 15 | +# 12. Pip3 |
| 16 | +# 13. Pip |
| 17 | +# 14. SBT |
| 18 | +# 15. Scala |
| 19 | + |
| 20 | +RUN touch /buildStart.txt && \ |
| 21 | + apt-get update && \ |
| 22 | + apt-get install -y --no-install-recommends locales && \ |
| 23 | + locale-gen en_US.UTF-8 && \ |
| 24 | + apt-get dist-upgrade -y && \ |
| 25 | + echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" > /etc/apt/sources.list.d/webupd8team-java-trusty.list && \ |
| 26 | + apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886 && \ |
| 27 | + apt-get update && \ |
| 28 | + apt-get clean all |
| 29 | + |
| 30 | +# Install curl wget and openjdk 8 |
| 31 | +RUN apt-get -y install software-properties-common && \ |
| 32 | + add-apt-repository -y ppa:openjdk-r/ppa && \ |
| 33 | + apt-get update && \ |
| 34 | + apt-get -y install openjdk-8-jdk && \ |
| 35 | + apt-get install -y wget && \ |
| 36 | + apt-get install -y curl && \ |
| 37 | + rm -rf /var/lib/apt/lists/* |
| 38 | + |
| 39 | +# Install git |
| 40 | +RUN apt-get update && apt-get install -y git |
| 41 | + |
| 42 | +# Install Maven (3.5.4) |
| 43 | +ARG MAVEN_VERSION=3.5.4 |
| 44 | +ARG USER_HOME_DIR="/root" |
| 45 | +ARG SHA=CE50B1C91364CB77EFE3776F756A6D92B76D9038B0A0782F7D53ACF1E997A14D |
| 46 | +ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries |
| 47 | + |
| 48 | +RUN mkdir -p /usr/share/maven /usr/share/maven/ref \ |
| 49 | + && curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \ |
| 50 | + && echo "${SHA} /tmp/apache-maven.tar.gz" | sha256sum -c - \ |
| 51 | + && tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \ |
| 52 | + && rm -f /tmp/apache-maven.tar.gz \ |
| 53 | + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn |
| 54 | + |
| 55 | +ENV MAVEN_HOME /usr/share/maven |
| 56 | +ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2" |
| 57 | + |
| 58 | +# Install Node.js (8.9.4) + NPM (5.6.0) |
| 59 | +RUN curl -sL https://deb.nodesource.com/setup_8.x | bash && \ |
| 60 | + apt-get install -y nodejs build-essential |
| 61 | + |
| 62 | +# Install Bower |
| 63 | +RUN npm i -g bower --allow-root |
| 64 | + |
| 65 | +# Premmsion to bower |
| 66 | +RUN echo '{ "allow_root": true }' > /root/.bowerrc |
| 67 | + |
| 68 | +# Install Yarn |
| 69 | +RUN npm i -g yarn@1.5.1 |
| 70 | + |
| 71 | +# Install unzip files |
| 72 | +RUN apt-get update && apt-get install -y unzip zip |
| 73 | + |
| 74 | +#install Gradle |
| 75 | +RUN wget -q https://services.gradle.org/distributions/gradle-4.5.1-bin.zip \ |
| 76 | + && unzip gradle-4.5.1-bin.zip -d /opt \ |
| 77 | + && rm gradle-4.5.1-bin.zip |
| 78 | + |
| 79 | +# Set Gradle in the environment variables |
| 80 | +ENV GRADLE_HOME /opt/gradle-4.5.1 |
| 81 | +ENV PATH $PATH:/opt/gradle-4.5.1/bin |
| 82 | + |
| 83 | +# Install python pip |
| 84 | +RUN apt-get install -y python3-pip |
| 85 | +RUN apt-get install -y python-pip |
| 86 | +RUN python -m pip install --upgrade pip setuptools |
| 87 | +RUN pip install virtualenv |
| 88 | + |
| 89 | +####Install GO#### |
| 90 | +RUN \ |
| 91 | +mkdir -p /goroot && \ |
| 92 | +curl https://storage.googleapis.com/golang/go1.10.2.linux-amd64.tar.gz | tar xvzf - -C /goroot --strip-components=1 |
| 93 | + |
| 94 | +####Install Ruby#### |
| 95 | +RUN \ |
| 96 | +apt-get update && \ |
| 97 | +apt-get install -y ruby ruby-dev ruby-bundler && \ |
| 98 | +rm -rf /var/lib/apt/lists/* |
| 99 | + |
| 100 | +RUN apt-get update |
| 101 | +RUN apt-get install -y --force-yes build-essential curl git |
| 102 | +RUN apt-get install -y --force-yes zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev |
| 103 | +RUN apt-get clean |
| 104 | + |
| 105 | +####Set GO environment variables#### |
| 106 | +ENV GOROOT /goroot |
| 107 | +ENV GOPATH /gopath |
| 108 | +ENV PATH $GOROOT/bin:$GOPATH/bin:$PATH |
| 109 | + |
| 110 | +####Install GO package managers#### |
| 111 | +RUN go get -u github.com/golang/dep/cmd/dep |
| 112 | +RUN go get github.com/tools/godep |
| 113 | +RUN go get github.com/LK4D4/vndr |
| 114 | +RUN go get -u github.com/kardianos/govendor |
| 115 | +RUN go get -u github.com/gpmgo/gopm |
| 116 | +RUN go get github.com/Masterminds/glide |
| 117 | + |
| 118 | +####Install Scala#### |
| 119 | +RUN wget https://downloads.lightbend.com/scala/2.12.6/scala-2.12.6.deb --no-check-certificate |
| 120 | +RUN dpkg -i scala-2.12.6.deb |
| 121 | + |
| 122 | +####Install SBT#### |
| 123 | +RUN curl -L -o sbt.deb http://dl.bintray.com/sbt/debian/sbt-1.1.6.deb |
| 124 | +RUN dpkg -i sbt.deb |
| 125 | +RUN apt-get update && \ |
| 126 | + apt-get install sbt |
| 127 | + |
| 128 | + |
| 129 | + |
| 130 | +COPY pipe /usr/bin/ |
| 131 | +ENTRYPOINT ["/usr/bin/pipe.sh"] |
0 commit comments