diff --git a/izumi-env/Dockerfile b/izumi-env/Dockerfile index 7972092..1d6a383 100644 --- a/izumi-env/Dockerfile +++ b/izumi-env/Dockerfile @@ -1,16 +1,19 @@ -ARG V_UBUNTU=18.04 +ARG V_UBUNTU=22.04 FROM ubuntu:${V_UBUNTU} -ARG V_SCALA=2.13.3 -ARG V_TYPESCRIPT=4.0.2 -ARG V_GOLANG=1.18 -ARG V_DOTNETSDK=3.1 +ARG URELEASE=jammy + #ARG V_OPENJDK=11 -ARG V_SBT=1.3.13 -ARG V_MVN=3.6.0-1~18.04.1 -ARG V_GRAAL=21.3.0 -ARG V_PROTOBUF=3.19.1 -ARG URELEASE=bionic +ARG V_GRAAL=21.0.1 +ARG V_SCALA=2.13.12 +ARG V_SBT=1.9.8 + +ARG V_TYPESCRIPT=4.0.2 +ARG V_GOLANG=1.21 +ARG V_DOTNETSDK=7.0 +ARG V_MVN=3.6.3-5 +ARG V_PROTOBUF=25.1 +ARG V_JEKYLL=3.2.1 RUN mkdir -p /work RUN mkdir -p /root @@ -22,43 +25,49 @@ ENV DEBIAN_FRONTEND noninteractive RUN echo "APT::Acquire::Queue-Mode "access"; APT::Acquire::Retries 3; " > /etc/apt/apt.conf.d/99parallel && \ export DEBIAN_FRONTEND=noninteractive && \ - apt-get update && apt-get install -y --no-install-recommends tzdata gnupg ca-certificates wget curl zip unzip apt-utils jq build-essential git openssh-client software-properties-common && \ + apt-get update && apt-get install -y --no-install-recommends tzdata gnupg ca-certificates wget curl zip unzip apt-utils jq build-essential git openssh-client software-properties-common locales && \ ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime && \ dpkg-reconfigure --frontend noninteractive tzdata && \ apt-get clean -y +RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \ + locale-gen + +ENV LANG en_US.UTF-8 +ENV LANGUAGE en_US:en +ENV LC_ALL en_US.UTF-8 + RUN curl -o packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb && \ dpkg -i packages-microsoft-prod.deb && \ rm packages-microsoft-prod.deb RUN add-apt-repository ppa:longsleep/golang-backports -RUN apt-get -y install locales -RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \ - locale-gen -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 + RUN curl -sS https://download.mono-project.com/repo/xamarin.gpg | apt-key add - && \ - echo "deb https://download.mono-project.com/repo/ubuntu stable-${URELEASE} main" | tee /etc/apt/sources.list.d/mono-official-stable.list && \ - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ - echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu ${URELEASE} stable" | tee /etc/apt/sources.list.d/docker.list && \ - curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add - && \ - echo "deb [arch=amd64] https://apt.releases.hashicorp.com ${URELEASE} main"| tee /etc/apt/sources.list.d/terraform.list && \ - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823 && \ - curl -sL https://deb.nodesource.com/setup_12.x | bash - && \ + echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | tee /etc/apt/sources.list.d/mono-official-stable.list + +RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ + echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list + +RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ + echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu ${URELEASE} stable" | tee /etc/apt/sources.list.d/docker.list + +RUN curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add - && \ + echo "deb [arch=amd64] https://apt.releases.hashicorp.com ${URELEASE} main"| tee /etc/apt/sources.list.d/terraform.list + +RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823 && \ + curl -sL https://deb.nodesource.com/setup_20.x | bash - + +RUN curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | apt-key add && \ echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | tee /etc/apt/sources.list.d/sbt.list && \ - echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | tee /etc/apt/sources.list.d/sbt_old.list && \ - curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | apt-key add && \ - apt-get update + echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | tee /etc/apt/sources.list.d/sbt_old.list -RUN apt-get upgrade -y +RUN apt-get update && apt-get upgrade -y # we don't need it but it fixes broken apt -RUN apt-get install -y openjdk-17-jre-headless +#RUN apt-get install -y openjdk-21-jre-headless RUN apt-get install -y --no-install-recommends \ mono-devel nuget nunit-console dotnet-sdk-${V_DOTNETSDK} msbuild @@ -96,14 +105,13 @@ ENV JAVA_HOME ${JAVA_BASE}/graalvm ENV PATH "$PATH:$JAVA_HOME/bin" RUN cd /tmp && \ - wget -q https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${V_GRAAL}/graalvm-ce-java11-linux-amd64-${V_GRAAL}.tar.gz -O dist.tar.gz && \ + wget -q https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${V_GRAAL}/graalvm-community-jdk-${V_GRAAL}_linux-x64_bin.tar.gz -O dist.tar.gz && \ tar -xvzf dist.tar.gz && \ rm -f dist.tar.gz && \ mkdir -p ${JAVA_BASE} && \ chmod -R 755 ${JAVA_BASE} && \ mv graalvm-*/ ${JAVA_HOME} && \ - update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 99999 && \ - gu install native-image + update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 99999 RUN wget -q www.scala-lang.org/files/archive/scala-${V_SCALA}.deb && dpkg -i --ignore-depends=java8-runtime-headless scala-${V_SCALA}.deb && rm -rf *.deb && \ curl -Lo /usr/local/bin/coursier https://git.io/coursier-cli && chmod +x /usr/local/bin/coursier @@ -112,11 +120,11 @@ RUN curl -Lo /usr/local/bin/cs https://git.io/coursier-cli-linux && chmod +x /us RUN npm i -g typescript@${V_TYPESCRIPT} -RUN pip install awscli +RUN apt-get install -y --no-install-recommends python3-pip && \ + pip3 install awscli -RUN gem update --system && \ - gem install sass && \ - gem install jekyll -v 3.2.1 +RUN gem install sass && \ + gem install jekyll -v ${V_JEKYLL} # /usr/lib/go-1.10/bin needs to be added into PATH manually: https://github.com/golang/go/wiki/Ubuntu ENV GOPATH $HOME/gopath