mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2025-01-01 09:35:34 +03:00
87 lines
3.8 KiB
Docker
87 lines
3.8 KiB
Docker
FROM epicmorg/teamcity-agent:latest
|
|
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
##################################################################
|
|
# teamcity dotnet setup
|
|
##################################################################
|
|
# Opt out of the telemetry feature
|
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
|
|
# Disable first time experience
|
|
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
|
# Configure Kestrel web server to bind to port 80 when present
|
|
ENV ASPNETCORE_URLS=\
|
|
# Enable detection of running in a container
|
|
ENV DOTNET_RUNNING_IN_CONTAINER=true
|
|
# Enable correct mode for dotnet watch (only mode supported in a container)
|
|
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
|
|
# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance
|
|
ENV NUGET_XMLDOC_MODE=skip
|
|
#unofficial support of openssl1.1 instead of 1.0 [https://stackoverflow.com/questions/51901359]
|
|
ENV CLR_OPENSSL_VERSION_OVERRIDE=45
|
|
# PowerShell telemetry for docker image usage
|
|
ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-10
|
|
#Install packages
|
|
|
|
ENV DOTNET_CHANNEL=LTS
|
|
ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL}
|
|
ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools
|
|
ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT}
|
|
ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
|
|
|
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
|
|
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
|
|
|
##################################################################
|
|
# installing dotnet
|
|
##################################################################
|
|
ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp
|
|
RUN mkdir -p ${DOTNET_ROOT} && \
|
|
chmod +x /tmp/dotnet-install.sh && \
|
|
/tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest
|
|
|
|
##################################################################
|
|
# Setup $PATH
|
|
##################################################################
|
|
ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}
|
|
|
|
##################################################################
|
|
# Version after install
|
|
##################################################################
|
|
RUN echo "=============================================" && \
|
|
echo $(dotnet --info) && \
|
|
echo $(dotnet --list-sdks) && \
|
|
echo $(dotnet --list-runtimes) && \
|
|
echo "============================================="
|
|
|
|
##################################################################
|
|
# Mono
|
|
##################################################################
|
|
#RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
|
|
# echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \
|
|
# echo "deb https://download.mono-project.com/repo/debian nightly-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-nightly.list && \
|
|
# echo "deb https://download.mono-project.com/repo/debian preview-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \
|
|
# apt-get update && \
|
|
# apt-get install -y --allow-unauthenticated \
|
|
# mono-complete \
|
|
# mono-llvm-support \
|
|
# mono-devel \
|
|
# mono-dbg \
|
|
# referenceassemblies-pcl \
|
|
# ca-certificates-mono
|
|
# mono-xsp4
|
|
|
|
##################################################################
|
|
# cleanup
|
|
##################################################################
|
|
RUN echo "clean up" && \
|
|
apt-get clean -y && \
|
|
apt-get autoclean -y && \
|
|
rm -rfv /var/lib/apt/lists/* && \
|
|
rm -rfv /root/.cache/* && \
|
|
rm -rfv /var/cache/apt/* && \
|
|
rm -rfv /root/tmp/* && \
|
|
rm -rfv /tmp/*
|
|
|
|
RUN updatedb
|