# Copyright 2017-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Amazon Software License (the "License"). You may not use this file except in compliance with the License. # A copy of the License is located at # # http://aws.amazon.com/asl/ # # or in the "license" file accompanying this file. # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. # See the License for the specific language governing permissions and limitations under the License. FROM public.ecr.aws/amazonlinux/amazonlinux:2 AS core ENV EPEL_REPO="https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm" # Install git, SSH, and other utilities RUN set -ex \ && yum install -y openssh-clients \ && mkdir ~/.ssh \ && touch ~/.ssh/known_hosts \ && ssh-keyscan -t rsa,dsa -H github.com >> ~/.ssh/known_hosts \ && ssh-keyscan -t rsa,dsa -H bitbucket.org >> ~/.ssh/known_hosts \ && chmod 600 ~/.ssh/known_hosts \ && yum install -y $EPEL_REPO \ && rpm --import https://download.mono-project.com/repo/xamarin.gpg \ && curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo \ && amazon-linux-extras enable corretto8 \ && yum groupinstall -y "Development tools" \ && yum install -y \ GeoIP-devel ImageMagick asciidoc bzip2-devel bzr bzrtools cvs cvsps \ docbook-dtds docbook-style-xsl dpkg-dev e2fsprogs expat-devel expect fakeroot \ glib2-devel groff gzip icu iptables jq krb5-server libargon2-devel \ libcurl-devel libdb-devel libedit-devel libevent-devel libffi-devel \ libicu-devel libjpeg-devel libpng-devel libserf libsqlite3x-devel \ libtidy-devel libunwind libwebp-devel libxml2-devel libxslt libxslt-devel \ libyaml-devel libzip-devel mariadb-devel mercurial mlocate mono-devel \ ncurses-devel oniguruma-devel openssl openssl-devel perl-DBD-SQLite \ perl-DBI perl-HTTP-Date perl-IO-Pty-Easy perl-TimeDate perl-YAML-LibYAML \ postgresql-devel procps-ng python-configobj readline-devel rsync sgml-common \ subversion-perl tar tcl tk vim wget which xfsprogs xmlto xorg-x11-server-Xvfb xz-devel RUN useradd codebuild-user #=======================End of layer: core ================= FROM core AS tools # Install Git RUN set -ex \ && GIT_VERSION=2.26.2 \ && GIT_TAR_FILE=git-$GIT_VERSION.tar.gz \ && GIT_SRC=https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz \ && curl -L -o $GIT_TAR_FILE $GIT_SRC \ && tar zxvf $GIT_TAR_FILE \ && cd git-$GIT_VERSION \ && make -j4 prefix=/usr \ && make install prefix=/usr \ && cd .. ; rm -rf git-$GIT_VERSION \ && rm -rf $GIT_TAR_FILE /tmp/* # Install Firefox RUN set -ex \ && yum install -y gtk3-devel dbus-glib-devel \ && wget -nv -O ~/FirefoxSetup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64" \ && tar xjf ~/FirefoxSetup.tar.bz2 -C /opt/ \ && ln -s /opt/firefox/firefox /usr/local/bin/firefox \ && rm ~/FirefoxSetup.tar.bz2 \ && firefox --version # Install GeckoDriver RUN set -ex \ && curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | jq -r '.assets[] | select(.browser_download_url | endswith("linux64.tar.gz")).browser_download_url' | wget -O /tmp/geckodriver-latest-linux64.tar.gz -qi - \ && tar -xzf /tmp/geckodriver-latest-linux64.tar.gz -C /opt \ && rm /tmp/geckodriver-latest-linux64.tar.gz \ && chmod 755 /opt/geckodriver \ && ln -s /opt/geckodriver /usr/bin/geckodriver \ && geckodriver --version # Install Chromium RUN set -ex \ && yum install -y chromium # Install ChromeDriver RUN set -ex \ && CHROME_VERSION=`chromium-browser --version | awk -F '[ .]' '{print $2"."$3"."$4}'` \ && CHROME_DRIVER_VERSION=`wget -nv -qO- chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_VERSION` \ && wget -nv -O /tmp/chromedriver_linux64.zip https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip \ && unzip /tmp/chromedriver_linux64.zip -d /opt \ && rm /tmp/chromedriver_linux64.zip \ && mv /opt/chromedriver /opt/chromedriver-$CHROME_DRIVER_VERSION \ && chmod 755 /opt/chromedriver-$CHROME_DRIVER_VERSION \ && ln -s /opt/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver \ && chromedriver --version # Install stunnel RUN set -ex \ && STUNNEL_VERSION=5.56 \ && STUNNEL_TAR=stunnel-$STUNNEL_VERSION.tar.gz \ && STUNNEL_SHA256="7384bfb356b9a89ddfee70b5ca494d187605bb516b4fff597e167f97e2236b22" \ && curl -o $STUNNEL_TAR https://www.usenix.org.uk/mirrors/stunnel/archive/5.x/$STUNNEL_TAR \ && echo "$STUNNEL_SHA256 $STUNNEL_TAR" | sha256sum -c - \ && tar xvfz $STUNNEL_TAR \ && cd stunnel-$STUNNEL_VERSION \ && ./configure \ && make -j4 \ && make install \ && openssl genrsa -out key.pem 2048 \ && openssl req -new -x509 -key key.pem -out cert.pem -days 1095 -subj "/C=US/ST=Washington/L=Seattle/O=Amazon/OU=Codebuild/CN=codebuild.amazon.com" \ && cat key.pem cert.pem >> /usr/local/etc/stunnel/stunnel.pem \ && cd .. ; rm -rf stunnel-${STUNNEL_VERSION}* # AWS Tools # https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_installation.html RUN curl -sS -o /usr/local/bin/aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.14.6/2019-08-22/bin/linux/amd64/aws-iam-authenticator \ && curl -sS -o /usr/local/bin/kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.14.6/2019-08-22/bin/linux/amd64/kubectl \ && curl -sS -o /usr/local/bin/ecs-cli https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-latest \ && chmod +x /usr/local/bin/kubectl /usr/local/bin/aws-iam-authenticator /usr/local/bin/ecs-cli # Configure SSM RUN set -ex \ && yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm # Install env tools for runtimes ## Dotnet ENV PATH="/root/.dotnet/:/root/.dotnet/tools/:$PATH" RUN set -ex \ && wget -nv -O /usr/local/bin/dotnet-install.sh https://dot.net/v1/dotnet-install.sh \ && chmod +x /usr/local/bin/dotnet-install.sh ##nodejs ENV N_SRC_DIR="$SRC_DIR/n" RUN git clone https://github.com/tj/n $N_SRC_DIR \ && cd $N_SRC_DIR && make install ##ruby ENV RBENV_SRC_DIR="/usr/local/rbenv" ENV PATH="/root/.rbenv/shims:$RBENV_SRC_DIR/bin:$RBENV_SRC_DIR/shims:$PATH" \ RUBY_BUILD_SRC_DIR="$RBENV_SRC_DIR/plugins/ruby-build" RUN set -ex \ && git clone https://github.com/rbenv/rbenv.git $RBENV_SRC_DIR \ && mkdir -p $RBENV_SRC_DIR/plugins \ && git clone https://github.com/rbenv/ruby-build.git $RUBY_BUILD_SRC_DIR \ && sh $RUBY_BUILD_SRC_DIR/install.sh ##python RUN curl https://pyenv.run | bash ENV PATH="/root/.pyenv/shims:/root/.pyenv/bin:$PATH" ##php RUN curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash ENV PATH="/root/.phpenv/shims:/root/.phpenv/bin:$PATH" ##go RUN git clone https://github.com/syndbg/goenv.git $HOME/.goenv ENV PATH="/root/.goenv/shims:/root/.goenv/bin:/go/bin:$PATH" ENV GOENV_DISABLE_GOPATH=1 ENV GOPATH="/go" #=======================End of layer: tools ================= FROM tools AS runtimes_1 #**************** JAVA **************************************************** COPY tools/android-accept-licenses.sh /opt/tools/android-accept-licenses.sh ENV JAVA_11_HOME="/opt/jvm/amazon-corretto-11" \ JDK_11_HOME="/opt/jvm/amazon-corretto-11" \ JRE_11_HOME="/opt/jvm/amazon-corretto-11" \ JAVA_8_HOME="/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64" \ JDK_8_HOME="/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64" \ JRE_8_HOME="/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre" \ ANT_VERSION=1.10.6 \ MAVEN_HOME="/opt/maven" \ MAVEN_VERSION=3.6.3 \ INSTALLED_GRADLE_VERSIONS="4.10.3 5.4.1" \ GRADLE_VERSION=5.4.1 \ SBT_VERSION=1.2.8 \ JDK_VERSION=11.0.5.10.1 \ ANDROID_HOME="/usr/local/android-sdk-linux" \ GRADLE_PATH="$SRC_DIR/gradle" \ ANDROID_SDK_MANAGER_VER="4333796" \ ANDROID_SDK_BUILD_TOOLS="build-tools;29.0.2" \ ANDROID_SDK_PLATFORM_TOOLS="platforms;android-29" \ ANDROID_SDK_BUILD_TOOLS_28="build-tools;28.0.3" \ ANDROID_SDK_PLATFORM_TOOLS_28="platforms;android-28" \ ANDROID_SDK_EXTRAS="extras;android;m2repository extras;google;m2repository extras;google;google_play_services" \ JDK_DOWNLOAD_SHA256="4cc9e65e6e3d036b18cfd5fd6c7843d48244e44a60350f7e45036f4825bd3812" \ ANT_DOWNLOAD_SHA512="c1a9694c3018e248000ff6f46d48af85f537ef3935e0d5256543c58a240084c0aff5289fd9e94cbc40d5442f3cc43592398047f2548fded40d9882be2b40750d" \ MAVEN_DOWNLOAD_SHA512="c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0" \ GRADLE_DOWNLOADS_SHA256="14cd15fc8cc8705bd69dcfa3c8fefb27eb7027f5de4b47a8b279218f76895a91 5.4.1\n336b6898b491f6334502d8074a6b8c2d73ed83b92123106bd4bf837f04111043 4.10.3" \ ANDROID_SDK_MANAGER_SHA256="92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9" ARG MAVEN_CONFIG_HOME="/root/.m2" ENV JDK_DOWNLOAD_TAR="amazon-corretto-${JDK_VERSION}-linux-x64.tar.gz" \ JAVA_HOME="$JAVA_11_HOME" \ JDK_HOME="$JDK_11_HOME" \ JRE_HOME="$JRE_11_HOME" ENV JDK_DOWNLOAD_URL="https://d3pxv6yz143wms.cloudfront.net/${JDK_VERSION}/${JDK_DOWNLOAD_TAR}" \ PATH="${PATH}:/opt/tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools" RUN set -ex \ # Install Amazon Corretto 8 && yum install -y java-1.8.0-amazon-corretto-devel \ # Ensure Java cacerts symlink points to valid location && update-ca-trust # Install Android SDK manager RUN set -x \ && wget -nv "https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_MANAGER_VER}.zip" -O /tmp/android-sdkmanager.zip \ && echo "${ANDROID_SDK_MANAGER_SHA256} /tmp/android-sdkmanager.zip" | sha256sum -c - \ && mkdir -p ${ANDROID_HOME} \ && unzip /tmp/android-sdkmanager.zip -d ${ANDROID_HOME} \ && rm /tmp/android-sdkmanager.zip \ && chown -R root.root ${ANDROID_HOME} \ && ln -s ${ANDROID_HOME}/tools/android /usr/bin/android # Install Android RUN set -x\ && android-accept-licenses.sh "env JAVA_HOME=$JAVA_8_HOME JRE_HOME=$JRE_8_HOME JDK_HOME=$JDK_8_HOME sdkmanager --verbose platform-tools ${ANDROID_SDK_BUILD_TOOLS} ${ANDROID_SDK_PLATFORM_TOOLS} ${ANDROID_SDK_EXTRAS} ${ANDROID_SDK_NDK_TOOLS}" | grep -v '\[=' \ && android-accept-licenses.sh "env JAVA_HOME=$JAVA_8_HOME JRE_HOME=$JRE_8_HOME JDK_HOME=$JDK_8_HOME sdkmanager --verbose platform-tools ${ANDROID_SDK_BUILD_TOOLS_28} ${ANDROID_SDK_PLATFORM_TOOLS_28}" | grep -v '\[=' \ && android-accept-licenses.sh "env JAVA_HOME=$JAVA_8_HOME JRE_HOME=$JRE_8_HOME JDK_HOME=$JDK_8_HOME sdkmanager --licenses" # Install Amazon Corretto 11 # Note: We will use update-alternatives to make sure JDK11 has higher priority for all the tools RUN set -x \ && mkdir -p $JAVA_HOME \ && curl -LSso /var/tmp/$JDK_DOWNLOAD_TAR $JDK_DOWNLOAD_URL \ && echo "$JDK_DOWNLOAD_SHA256 /var/tmp/$JDK_DOWNLOAD_TAR" | sha256sum -c - \ && tar xzvf /var/tmp/$JDK_DOWNLOAD_TAR -C $JAVA_HOME --strip-components=1 \ && rm /var/tmp/$JDK_DOWNLOAD_TAR \ && for tool_path in $JAVA_HOME/bin/*; do \ tool=`basename $tool_path`; \ update-alternatives --install /usr/bin/$tool $tool $tool_path 10000; \ update-alternatives --set $tool $tool_path; \ done \ && rm $JAVA_HOME/lib/security/cacerts && ln -s /etc/pki/java/cacerts $JAVA_HOME/lib/security/cacerts \ # Install Ant && curl -LSso /var/tmp/apache-ant-$ANT_VERSION-bin.tar.gz https://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz \ && echo "$ANT_DOWNLOAD_SHA512 /var/tmp/apache-ant-$ANT_VERSION-bin.tar.gz" | sha512sum -c - \ && tar -xzf /var/tmp/apache-ant-$ANT_VERSION-bin.tar.gz -C /opt \ && rm /var/tmp/apache-ant-$ANT_VERSION-bin.tar.gz \ && update-alternatives --install /usr/bin/ant ant /opt/apache-ant-$ANT_VERSION/bin/ant 10000 # Install Maven RUN set -ex \ && mkdir -p $MAVEN_HOME \ && curl -LSso /var/tmp/apache-maven-$MAVEN_VERSION-bin.tar.gz https://apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz \ && echo "$MAVEN_DOWNLOAD_SHA512 /var/tmp/apache-maven-$MAVEN_VERSION-bin.tar.gz" | sha512sum -c - \ && tar xzvf /var/tmp/apache-maven-$MAVEN_VERSION-bin.tar.gz -C $MAVEN_HOME --strip-components=1 \ && rm /var/tmp/apache-maven-$MAVEN_VERSION-bin.tar.gz \ && update-alternatives --install /usr/bin/mvn mvn /opt/maven/bin/mvn 10000 \ && mkdir -p $MAVEN_CONFIG_HOME \ # Install Gradle && mkdir -p $GRADLE_PATH \ && for version in $INSTALLED_GRADLE_VERSIONS; do { \ wget -nv "https://services.gradle.org/distributions/gradle-$version-all.zip" -O "$GRADLE_PATH/gradle-$version-all.zip" \ && unzip "$GRADLE_PATH/gradle-$version-all.zip" -d /usr/local \ && echo -e "$GRADLE_DOWNLOADS_SHA256" | grep "$version" | sed "s|$version|$GRADLE_PATH/gradle-$version-all.zip|" | sha256sum -c - \ && rm "$GRADLE_PATH/gradle-$version-all.zip" \ && mkdir "/tmp/gradle-$version" \ && "/usr/local/gradle-$version/bin/gradle" -p "/tmp/gradle-$version" wrapper \ # Android Studio uses the "-all" distribution for it's wrapper script. && perl -pi -e "s/gradle-$version-bin.zip/gradle-$version-all.zip/" "/tmp/gradle-$version/gradle/wrapper/gradle-wrapper.properties" \ && "/tmp/gradle-$version/gradlew" -p "/tmp/gradle-$version" init \ && rm -rf "/tmp/gradle-$version" \ && if [ "$version" != "$GRADLE_VERSION" ]; then rm -rf "/usr/local/gradle-$version"; fi; \ }; done \ # Install default GRADLE_VERSION to path && ln -s /usr/local/gradle-$GRADLE_VERSION/bin/gradle /usr/bin/gradle \ && rm -rf $GRADLE_PATH \ # Install SBT && wget -nv https://dl.bintray.com/sbt/rpm/sbt-$SBT_VERSION.rpm \ && yum install -y sbt-$SBT_VERSION.rpm \ && rm -fr sbt-$SBT_VERSION.rpm \ # Cleanup && rm -fr /tmp/* /var/tmp/* #**************** END JAVA **************************************************** #**************** PowerShell ******************************************************* # Install Powershell Core # See instructions at https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-powershell-core-on-linux ENV POWERSHELL_VERSION 6.2.1 ENV POWERSHELL_DOWNLOAD_URL https://github.com/PowerShell/PowerShell/releases/download/v$POWERSHELL_VERSION/powershell-$POWERSHELL_VERSION-linux-x64.tar.gz ENV POWERSHELL_DOWNLOAD_SHA E8287687C99162BF70FEFCC2E492F3B54F80BE880D86B9A0EC92C71B05C40013 RUN set -ex \ && curl -SL $POWERSHELL_DOWNLOAD_URL --output powershell.tar.gz \ && echo "$POWERSHELL_DOWNLOAD_SHA powershell.tar.gz" | sha256sum -c - \ && mkdir -p /opt/microsoft/powershell/$POWERSHELL_VERSION \ && tar zxf powershell.tar.gz -C /opt/microsoft/powershell/$POWERSHELL_VERSION \ && rm powershell.tar.gz \ && ln -s /opt/microsoft/powershell/$POWERSHELL_VERSION/pwsh /usr/bin/pwsh #**************** END Powershell ******************************************************* #**************** NODEJS **************************************************** ENV NODE_10_VERSION="10.19.0" RUN n $NODE_10_VERSION && npm install --save-dev -g -f grunt && npm install --save-dev -g -f grunt-cli && npm install --save-dev -g -f webpack \ && curl -sSL https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo \ && rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg \ && yum install -y yarn \ && yarn --version \ && cd / && rm -rf $N_SRC_DIR; rm -rf /tmp/* #**************** END NODEJS **************************************************** #**************** RUBY ********************************************************* ENV RUBY_26_VERSION="2.6.5" RUN rbenv install $RUBY_26_VERSION; rm -rf /tmp/*; rbenv global $RUBY_26_VERSION;ruby -v #**************** END RUBY ***************************************************** #**************** PYTHON ***************************************************** ENV PYTHON_37_VERSION="3.7.6" ENV PYTHON_PIP_VERSION=19.3.1 COPY tools/runtime_configs/python/$PYTHON_37_VERSION /root/.pyenv/plugins/python-build/share/python-build/$PYTHON_37_VERSION RUN env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install $PYTHON_37_VERSION; rm -rf /tmp/* RUN pyenv global $PYTHON_37_VERSION RUN set -ex \ && pip3 install --no-cache-dir --upgrade --force-reinstall "pip==$PYTHON_PIP_VERSION" \ && pip3 install --no-cache-dir --upgrade "PyYAML==5.1.2" \ && pip3 install --no-cache-dir --upgrade setuptools wheel aws-sam-cli awscli boto3 pipenv virtualenv #**************** END PYTHON ***************************************************** #**************** PHP **************************************************** ENV PHP_73_VERSION="7.3.13" COPY tools/runtime_configs/php/$PHP_73_VERSION /root/.phpenv/plugins/php-build/share/php-build/definitions/$PHP_73_VERSION RUN phpenv install $PHP_73_VERSION; rm -rf /tmp/*; phpenv global $PHP_73_VERSION RUN echo "memory_limit = 1G;" >> "/root/.phpenv/versions/$PHP_73_VERSION/etc/conf.d/memory.ini" # Install Composer globally RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer #**************** END PHP **************************************************** #**************** GOLANG **************************************************** ENV GOLANG_13_VERSION="1.13.8" \ GOLANG_12_VERSION="1.12.17" ENV GOENV_DISABLE_GOPATH=1 ENV GOPATH="/go" RUN goenv install $GOLANG_12_VERSION; rm -rf /tmp/* RUN goenv install $GOLANG_13_VERSION; rm -rf /tmp/*; \ goenv global $GOLANG_13_VERSION RUN go get -u github.com/golang/dep/cmd/dep #**************** END GOLANG **************************************************** #=======================End of layer: runtimes_1 ================= FROM runtimes_1 AS al2_v1 #Docker 18 ENV DOCKER_BUCKET="download.docker.com" \ DOCKER_CHANNEL="stable" \ DIND_COMMIT="3b5fac462d21ca164b3778647420016315289034" \ DOCKER_COMPOSE_VERSION="1.24.0" ENV DOCKER_SHA256="1f3f6774117765279fce64ee7f76abbb5f260264548cf80631d68fb2d795bb09" ENV DOCKER_VERSION="18.09.6" VOLUME /var/lib/docker RUN set -ex \ && curl -fSL "https://${DOCKER_BUCKET}/linux/static/${DOCKER_CHANNEL}/x86_64/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \ && echo "${DOCKER_SHA256} *docker.tgz" | sha256sum -c - \ && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ \ && rm docker.tgz \ && docker -v \ # set up subuid/subgid so that "--userns-remap=default" works out-of-the-box && groupadd dockremap \ && useradd -g dockremap dockremap \ && echo 'dockremap:165536:65536' >> /etc/subuid \ && echo 'dockremap:165536:65536' >> /etc/subgid \ && wget -nv "https://raw.githubusercontent.com/docker/docker/${DIND_COMMIT}/hack/dind" -O /usr/local/bin/dind \ && curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose \ && chmod +x /usr/local/bin/dind /usr/local/bin/docker-compose \ && docker-compose version #DotNet ENV DOTNET_22_SDK_VERSION="2.2.402" ENV DOTNET_ROOT="/root/.dotnet" RUN rm -rf /root/.dotnet/sdk/* RUN set -ex \ && /usr/local/bin/dotnet-install.sh -v $DOTNET_22_SDK_VERSION \ && dotnet --list-sdks \ && rm -rf /tmp/* ## Trigger the population of the local package cache ENV NUGET_XMLDOC_MODE skip RUN set -ex \ && mkdir warmup \ && cd warmup \ && dotnet new \ && cd .. \ && rm -rf warmup \ && rm -rf /tmp/NuGetScratch #Node 8 ENV NODE_8_VERSION=8.16.0 RUN n $NODE_8_VERSION && npm install --save-dev -g -f grunt && npm install --save-dev -g -f grunt-cli && npm install --save-dev -g -f webpack #Activate the desired runtime versions. RUN n $NODE_10_VERSION RUN pyenv global $PYTHON_37_VERSION RUN phpenv global $PHP_73_VERSION RUN rbenv global $RUBY_26_VERSION RUN goenv global $GOLANG_13_VERSION ENV MAVEN_CONFIG=$MAVEN_CONFIG_HOME ENV DEBIAN_FRONTEND="noninteractive" # Configure SSH COPY ssh_config /root/.ssh/config COPY runtimes.yml /codebuild/image/config/runtimes.yml COPY dockerd-entrypoint.sh /usr/local/bin/ COPY legal/THIRD_PARTY_LICENSES.txt /usr/share/doc COPY legal/bill_of_material.txt /usr/share/doc COPY amazon-ssm-agent.json /etc/amazon/ssm/ ENTRYPOINT ["dockerd-entrypoint.sh"] #=======================End of layer: al2_v1 =================