From 906898a34c46c6642ee6adca446eb07a8e5cb952 Mon Sep 17 00:00:00 2001 From: Andrey Koltsov Date: Thu, 7 Sep 2023 17:39:08 +0200 Subject: [PATCH] [TW] Reflect tools installed in images within documentation & add annotation for auto-generation (#103) * Update documentation for server, agenet and minimal agent, addressing the installed tools; * Introduce '@AddToolToDoc' to simplify the addition of new tools into automation; --- .../linux/Agent/Ubuntu/Ubuntu-sudo.Dockerfile | 13 ++ configs/linux/Agent/Ubuntu/Ubuntu.Dockerfile | 32 ++-- .../Agent/UbuntuARM/UbuntuARM-sudo.Dockerfile | 13 ++ .../Agent/UbuntuARM/UbuntuARM.Dockerfile | 29 ++-- .../MinimalAgent/Ubuntu/Ubuntu.Dockerfile | 7 +- .../UbuntuARM/UbuntuARM.Dockerfile | 7 +- configs/linux/Server/Ubuntu/Ubuntu.Dockerfile | 13 +- .../Server/UbuntuARM/UbuntuARM.Dockerfile | 10 +- .../nanoserver/NanoServer1803.Dockerfile | 7 +- .../nanoserver/NanoServer1809.Dockerfile | 13 +- .../WindowsServerCore1803.Dockerfile | 22 ++- .../nanoserver/NanoServer1803.Dockerfile | 7 +- .../nanoserver/NanoServer1809.Dockerfile | 7 +- .../nanoserver/NanoServer1803.Dockerfile | 10 +- .../nanoserver/NanoServer1809.Dockerfile | 10 +- .../linux/Agent/Ubuntu/18.04-sudo/Dockerfile | 1 + .../linux/Agent/Ubuntu/18.04/Dockerfile | 9 ++ .../linux/Agent/Ubuntu/20.04-sudo/Dockerfile | 1 + .../linux/Agent/Ubuntu/20.04/Dockerfile | 9 ++ .../Agent/UbuntuARM/18.04-sudo/Dockerfile | 2 + .../linux/Agent/UbuntuARM/18.04/Dockerfile | 10 +- .../Agent/UbuntuARM/20.04-sudo/Dockerfile | 2 + .../linux/Agent/UbuntuARM/20.04/Dockerfile | 10 +- .../MinimalAgent/Ubuntu/18.04/Dockerfile | 3 + .../MinimalAgent/Ubuntu/20.04/Dockerfile | 3 + .../MinimalAgent/UbuntuARM/18.04/Dockerfile | 3 + .../MinimalAgent/UbuntuARM/20.04/Dockerfile | 3 + .../linux/Server/Ubuntu/18.04/Dockerfile | 5 +- .../linux/Server/Ubuntu/20.04/Dockerfile | 5 +- .../linux/Server/UbuntuARM/18.04/Dockerfile | 4 +- .../linux/Server/UbuntuARM/20.04/Dockerfile | 4 +- context/generated/teamcity-agent.md | 138 ++++++++++++++---- context/generated/teamcity-minimal-agent.md | 8 +- context/generated/teamcity-server.md | 10 +- .../windows/Agent/nanoserver/1803/Dockerfile | 3 + .../windows/Agent/nanoserver/1809/Dockerfile | 5 + .../windows/Agent/nanoserver/1903/Dockerfile | 5 + .../windows/Agent/nanoserver/1909/Dockerfile | 5 + .../windows/Agent/nanoserver/2004/Dockerfile | 5 + .../Agent/windowsservercore/1803/Dockerfile | 8 + .../Agent/windowsservercore/1809/Dockerfile | 8 + .../Agent/windowsservercore/1903/Dockerfile | 8 + .../Agent/windowsservercore/1909/Dockerfile | 8 + .../Agent/windowsservercore/2004/Dockerfile | 8 + .../MinimalAgent/nanoserver/1803/Dockerfile | 3 + .../MinimalAgent/nanoserver/1809/Dockerfile | 3 + .../MinimalAgent/nanoserver/1903/Dockerfile | 3 + .../MinimalAgent/nanoserver/1909/Dockerfile | 3 + .../MinimalAgent/nanoserver/2004/Dockerfile | 3 + .../windows/Server/nanoserver/1803/Dockerfile | 4 + .../windows/Server/nanoserver/1809/Dockerfile | 4 + .../windows/Server/nanoserver/1903/Dockerfile | 4 + .../windows/Server/nanoserver/1909/Dockerfile | 4 + .../windows/Server/nanoserver/2004/Dockerfile | 4 + tool/README.md | 7 + tool/TeamCity.Docker/DockerGraphFactory.cs | 5 +- 56 files changed, 438 insertions(+), 102 deletions(-) diff --git a/configs/linux/Agent/Ubuntu/Ubuntu-sudo.Dockerfile b/configs/linux/Agent/Ubuntu/Ubuntu-sudo.Dockerfile index e40fca468..67e176726 100644 --- a/configs/linux/Agent/Ubuntu/Ubuntu-sudo.Dockerfile +++ b/configs/linux/Agent/Ubuntu/Ubuntu-sudo.Dockerfile @@ -10,6 +10,19 @@ ## ${agentCommentHeader} ## This image allows to do *__sudo__* without a password for the *__buildagent__* user. ## To enable Docker, please add the following arguments: ```--privileged -e DOCKER_IN_DOCKER=start```. +# @AddToolToDoc [${jdkLinuxComponentName}](${jdkLinuxComponent}) +# @AddToolToDoc [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +# @AddToolToDoc ${gitLFSLinuxComponentName} +# @AddToolToDoc ${gitLinuxComponentName} +# @AddToolToDoc Mercurial +# @AddToolToDoc ${dockerLinuxComponentName} +# @AddToolToDoc [Docker Compose v.${dockerComposeLinuxComponentVersion}](https://github.com/docker/compose/releases/tag/${dockerComposeLinuxComponentVersion}) +# @AddToolToDoc ${containerdIoLinuxComponentName} +# @AddToolToDoc [${dotnetLinuxComponentName_31}](${dotnetLinuxComponent_31}) +# @AddToolToDoc [${dotnetLinuxComponentName}](${dotnetLinuxComponent}) +# @AddToolToDoc [${dotnetLinuxComponentName_50}](${dotnetLinuxComponent_50}) +# @AddToolToDoc ${p4Name} + # Based on ${teamcityAgentImage} FROM ${teamcityAgentImage} diff --git a/configs/linux/Agent/Ubuntu/Ubuntu.Dockerfile b/configs/linux/Agent/Ubuntu/Ubuntu.Dockerfile index 431c4b873..2d3ec2ab8 100644 --- a/configs/linux/Agent/Ubuntu/Ubuntu.Dockerfile +++ b/configs/linux/Agent/Ubuntu/Ubuntu.Dockerfile @@ -22,6 +22,23 @@ ## ${agentCommentHeader} +# @AddToolToDoc [${jdkLinuxComponentName}](${jdkLinuxComponent}) +# @AddToolToDoc [Python venv](https://docs.python.org/3/library/venv.html#module-venv) + +# @AddToolToDoc [${jdkLinuxComponentName}](${jdkLinuxComponent}) +# @AddToolToDoc [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +# @AddToolToDoc ${gitLFSLinuxComponentName} +# @AddToolToDoc ${gitLinuxComponentName} +# @AddToolToDoc Mercurial +# @AddToolToDoc ${dockerLinuxComponentName} +# @AddToolToDoc [Docker Compose v.${dockerComposeLinuxComponentVersion}](https://github.com/docker/compose/releases/tag/${dockerComposeLinuxComponentVersion}) +# @AddToolToDoc ${containerdIoLinuxComponentName} +# @AddToolToDoc [${dotnetLinuxComponentName_31}](${dotnetLinuxComponent_31}) +# @AddToolToDoc [${dotnetLinuxComponentName}](${dotnetLinuxComponent}) +# @AddToolToDoc [${dotnetLinuxComponentName_50}](${dotnetLinuxComponent_50}) +# @AddToolToDoc ${p4Name} + + # Based on ${teamcityMinimalAgentImage} FROM ${teamcityMinimalAgentImage} @@ -61,16 +78,13 @@ ARG containerdIoLinuxComponentVersion ARG p4Version RUN apt-get update && \ -# Install ${gitLinuxComponentName} -# Install ${gitLFSLinuxComponentName} -# Install Mercurial apt-get install -y mercurial apt-transport-https software-properties-common && \ add-apt-repository ppa:git-core/ppa -y && \ apt-get install -y git=${gitLinuxComponentVersion} git-lfs=${gitLFSLinuxComponentVersion} && \ git lfs install --system && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ -# Install ${p4Name} +# Perforce (p4 CLI) apt-key adv --fetch-keys https://package.perforce.com/perforce.pubkey && \ (. /etc/os-release && \ echo "deb http://package.perforce.com/apt/$ID $VERSION_CODENAME release" > \ @@ -79,7 +93,7 @@ RUN apt-get update && \ (. /etc/os-release && apt-get install -y helix-cli-base="${p4Version}~$VERSION_CODENAME" helix-cli="${p4Version}~$VERSION_CODENAME" ) && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ -# Install ${dockerLinuxComponentName}, ${containerdIoLinuxComponentName} + # Docker & ContainerD curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ apt-cache policy docker-ce && \ @@ -90,26 +104,26 @@ RUN apt-get update && \ systemd && \ systemctl disable docker && \ sed -i -e 's/\r$//' /services/run-docker.sh && \ -# Install [Docker Compose v.${dockerComposeLinuxComponentVersion}](https://github.com/docker/compose/releases/tag/${dockerComposeLinuxComponentVersion}) +# Docker Compose curl -SL "https://github.com/docker/compose/releases/download/${dockerComposeLinuxComponentVersion}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && \ # Dotnet apt-get install -y --no-install-recommends ${dotnetLibs} && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ mkdir -p /usr/share/dotnet && \ -# Install [${dotnetLinuxComponentName_31}](${dotnetLinuxComponent_31}) +# .NET Framework 3.1 curl -SL ${dotnetLinuxComponent_31} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxComponentSHA512_31} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ -# Install [${dotnetLinuxComponentName_50}](${dotnetLinuxComponent_50}) +# .NET 5.0 curl -SL ${dotnetLinuxComponent_50} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxComponentSHA512_50} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ -# Install [${dotnetLinuxComponentName}](${dotnetLinuxComponent}) +# .NET 6.0 curl -SL ${dotnetLinuxComponent} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxComponentSHA512} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ diff --git a/configs/linux/Agent/UbuntuARM/UbuntuARM-sudo.Dockerfile b/configs/linux/Agent/UbuntuARM/UbuntuARM-sudo.Dockerfile index e40fca468..033238e84 100644 --- a/configs/linux/Agent/UbuntuARM/UbuntuARM-sudo.Dockerfile +++ b/configs/linux/Agent/UbuntuARM/UbuntuARM-sudo.Dockerfile @@ -10,6 +10,19 @@ ## ${agentCommentHeader} ## This image allows to do *__sudo__* without a password for the *__buildagent__* user. ## To enable Docker, please add the following arguments: ```--privileged -e DOCKER_IN_DOCKER=start```. +# @AddToolToDoc [${jdkLinuxARM64ComponentName}](${jdkLinuxARM64Component}) +# @AddToolToDoc [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +# @AddToolToDoc ${gitLinuxComponentName} +# @AddToolToDoc ${gitLFSLinuxComponentName} +# @AddToolToDoc Mercurial +# @AddToolToDoc ${dockerLinuxComponentName} +# @AddToolToDoc ${containerdIoLinuxComponentName} +# @AddToolToDoc [Docker Compose v.${dockerComposeLinuxComponentVersion}](https://github.com/docker/compose/releases/tag/${dockerComposeLinuxComponentVersion}) +# @AddToolToDoc [${dotnetLinuxARM64ComponentName}](${dotnetLinuxARM64Component}) +# @AddToolToDoc [${dotnetLinuxARM64ComponentName_31}](${dotnetLinuxARM64Component_31}) +# @AddToolToDoc [${dotnetLinuxARM64ComponentName_50}](${dotnetLinuxARM64Component_50}) + + # Based on ${teamcityAgentImage} FROM ${teamcityAgentImage} diff --git a/configs/linux/Agent/UbuntuARM/UbuntuARM.Dockerfile b/configs/linux/Agent/UbuntuARM/UbuntuARM.Dockerfile index 3719dbfe2..2210b8494 100644 --- a/configs/linux/Agent/UbuntuARM/UbuntuARM.Dockerfile +++ b/configs/linux/Agent/UbuntuARM/UbuntuARM.Dockerfile @@ -22,6 +22,20 @@ ## ${agentCommentHeader} +# @AddToolToDoc [${jdkLinuxARM64ComponentName}](${jdkLinuxARM64Component}) +# @AddToolToDoc [Python venv](https://docs.python.org/3/library/venv.html#module-venv) + +# @AddToolToDoc ${gitLinuxComponentName} +# @AddToolToDoc ${gitLFSLinuxComponentName} +# @AddToolToDoc Mercurial +# @AddToolToDoc ${dockerLinuxComponentName} +# @AddToolToDoc ${containerdIoLinuxComponentName} +# @AddToolToDoc [Docker Compose v.${dockerComposeLinuxComponentVersion}](https://github.com/docker/compose/releases/tag/${dockerComposeLinuxComponentVersion}) +# @AddToolToDoc [${dotnetLinuxARM64ComponentName}](${dotnetLinuxARM64Component}) +# @AddToolToDoc [${dotnetLinuxARM64ComponentName_31}](${dotnetLinuxARM64Component_31}) +# @AddToolToDoc [${dotnetLinuxARM64ComponentName_50}](${dotnetLinuxARM64Component_50}) + + # Based on ${teamcityMinimalAgentImage} FROM ${teamcityMinimalAgentImage} @@ -60,16 +74,13 @@ ARG dockerLinuxComponentVersion ARG containerdIoLinuxComponentVersion RUN apt-get update && \ -# Install ${gitLinuxComponentName} -# Install ${gitLFSLinuxComponentName} -# Install Mercurial apt-get install -y mercurial apt-transport-https software-properties-common && \ add-apt-repository ppa:git-core/ppa -y && \ apt-get install -y git=${gitLinuxComponentVersion} git-lfs=${gitLFSLinuxComponentVersion} && \ git lfs install --system && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ -# Install ${dockerLinuxComponentName}, ${containerdIoLinuxComponentName} +# Docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ apt-cache policy docker-ce && \ @@ -80,26 +91,26 @@ RUN apt-get update && \ systemd && \ systemctl disable docker && \ sed -i -e 's/\r$//' /services/run-docker.sh && \ -# Install [Docker Compose v.${dockerComposeLinuxComponentVersion}](https://github.com/docker/compose/releases/tag/${dockerComposeLinuxComponentVersion}) +# Docker-Compose curl -SL "https://github.com/docker/compose/releases/download/${dockerComposeLinuxComponentVersion}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && \ -# Dotnet +# .NET Libraries apt-get install -y --no-install-recommends ${dotnetLibs} && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ mkdir -p /usr/share/dotnet && \ -# Install [${dotnetLinuxARM64ComponentName_31}](${dotnetLinuxARM64Component_31}) +# .NET Framework 3.1 curl -SL ${dotnetLinuxARM64Component_31} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxARM64ComponentSHA512_31} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ -# Install [${dotnetLinuxARM64ComponentName_50}](${dotnetLinuxARM64Component_50}) +# .NET 5.0 curl -SL ${dotnetLinuxARM64Component_50} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxARM64ComponentSHA512_50} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ -# Install [${dotnetLinuxARM64ComponentName}](${dotnetLinuxARM64Component}) +# .NET curl -SL ${dotnetLinuxARM64Component} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxARM64ComponentSHA512} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ diff --git a/configs/linux/MinimalAgent/Ubuntu/Ubuntu.Dockerfile b/configs/linux/MinimalAgent/Ubuntu/Ubuntu.Dockerfile index c669628be..988627978 100644 --- a/configs/linux/MinimalAgent/Ubuntu/Ubuntu.Dockerfile +++ b/configs/linux/MinimalAgent/Ubuntu/Ubuntu.Dockerfile @@ -13,6 +13,9 @@ ## ${agentCommentHeader} +# @AddToolToDoc [${jdkLinuxComponentName}](${jdkLinuxComponent}) +# @AddToolToDoc [Python venv](https://docs.python.org/3/library/venv.html#module-venv) + # Based on ${ubuntuImage} 0 FROM ${ubuntuImage} @@ -20,7 +23,7 @@ ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' DEBIAN_FRONTEND= RUN apt-get update && \ apt-get install -y --no-install-recommends curl ca-certificates fontconfig locales unzip && \ -# Install [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +# Python apt-get install -y python3-venv && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ @@ -29,7 +32,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* && \ useradd -m buildagent -# Install [${jdkLinuxComponentName}](${jdkLinuxComponent}) +# JDK ARG jdkLinuxComponent ARG jdkLinuxComponentMD5SUM diff --git a/configs/linux/MinimalAgent/UbuntuARM/UbuntuARM.Dockerfile b/configs/linux/MinimalAgent/UbuntuARM/UbuntuARM.Dockerfile index 0611f29de..faa061263 100644 --- a/configs/linux/MinimalAgent/UbuntuARM/UbuntuARM.Dockerfile +++ b/configs/linux/MinimalAgent/UbuntuARM/UbuntuARM.Dockerfile @@ -13,6 +13,9 @@ ## ${agentCommentHeader} +# @AddToolToDoc [${jdkLinuxARM64ComponentName}](${jdkLinuxARM64Component}) +# @AddToolToDoc [Python venv](https://docs.python.org/3/library/venv.html#module-venv) + # Based on ${ubuntuImage} 0 FROM ${ubuntuImage} @@ -21,7 +24,7 @@ ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' DEBIAN_FRONTEND= RUN apt-get update && \ apt-get install -y --no-install-recommends curl ca-certificates fontconfig locales unzip && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 -# Install [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +# Python apt-get install -y python3-venv && \ apt-get clean && rm -rf /var/lib/apt/lists/* && \ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && \ @@ -29,7 +32,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* && \ useradd -m buildagent -# Install [${jdkLinuxARM64ComponentName}](${jdkLinuxARM64Component}) +# JDK ARG jdkLinuxARM64Component ARG jdkLinuxARM64ComponentMD5SUM diff --git a/configs/linux/Server/Ubuntu/Ubuntu.Dockerfile b/configs/linux/Server/Ubuntu/Ubuntu.Dockerfile index a6ff689d0..c784d4f00 100644 --- a/configs/linux/Server/Ubuntu/Ubuntu.Dockerfile +++ b/configs/linux/Server/Ubuntu/Ubuntu.Dockerfile @@ -15,6 +15,11 @@ ## ${serverCommentHeader} +# @AddToolToDoc [${jdkServerLinuxComponentName}](${jdkServerLinuxComponent}) +# @AddToolToDoc ${gitLinuxComponentName} +# @AddToolToDoc ${gitLFSLinuxComponentName} +# @AddToolToDoc ${p4Name} + # Based on ${ubuntuImage} 0 FROM ${ubuntuImage} @@ -29,8 +34,6 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # JDK preparation start - -# Install [${jdkServerLinuxComponentName}](${jdkServerLinuxComponent}) ARG jdkServerLinuxComponent ARG jdkServerLinuxComponentMD5SUM @@ -61,13 +64,13 @@ ENV TEAMCITY_DATA_PATH=/data/teamcity_server/datadir \ EXPOSE 8111 -# Install ${gitLinuxComponentName} +# Git ARG gitLinuxComponentVersion -# Install ${gitLFSLinuxComponentName} +# Git LFS ARG gitLFSLinuxComponentVersion -# Install ${p4Name} +# Perforce ARG p4Version RUN apt-get update && \ diff --git a/configs/linux/Server/UbuntuARM/UbuntuARM.Dockerfile b/configs/linux/Server/UbuntuARM/UbuntuARM.Dockerfile index 56cfa3f5f..6884f23f5 100644 --- a/configs/linux/Server/UbuntuARM/UbuntuARM.Dockerfile +++ b/configs/linux/Server/UbuntuARM/UbuntuARM.Dockerfile @@ -15,6 +15,10 @@ ## ${serverCommentHeader} +# @AddToolToDoc [${jdkServerLinuxARM64ComponentName}](${jdkServerLinuxARM64Component}) +# @AddToolToDoc ${gitLinuxComponentName} +# @AddToolToDoc ${gitLFSLinuxComponentName} + # Based on ${ubuntuImage} 0 FROM ${ubuntuImage} @@ -29,8 +33,6 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # JDK preparation start - -# Install [${jdkServerLinuxARM64ComponentName}](${jdkServerLinuxARM64Component}) ARG jdkServerLinuxARM64Component ARG jdkServerLinuxARM64ComponentMD5SUM @@ -61,10 +63,10 @@ ENV TEAMCITY_DATA_PATH=/data/teamcity_server/datadir \ EXPOSE 8111 -# Install ${gitLinuxComponentName} +# Git ARG gitLinuxComponentVersion -# Install ${gitLFSLinuxComponentName} +# Git LFS ARG gitLFSLinuxComponentVersion RUN apt-get update && \ diff --git a/configs/windows/Agent/nanoserver/NanoServer1803.Dockerfile b/configs/windows/Agent/nanoserver/NanoServer1803.Dockerfile index 9836b09c4..95e3091b5 100644 --- a/configs/windows/Agent/nanoserver/NanoServer1803.Dockerfile +++ b/configs/windows/Agent/nanoserver/NanoServer1803.Dockerfile @@ -14,15 +14,18 @@ ## ${agentCommentHeader} +# @AddToolToDoc [${dotnetWindowsComponentName}](${dotnetWindowsComponent}) +# @AddToolToDoc ${powerShellComponentName} + # Based on ${powershellImage} 3 -# Install ${powerShellComponentName} +# PowerShell FROM ${powershellImage} AS dotnet SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] ARG dotnetWindowsComponent -# Install [${dotnetWindowsComponentName}](${dotnetWindowsComponent}) +# .NET RUN Invoke-WebRequest -OutFile dotnet.zip $Env:dotnetWindowsComponent; \ Expand-Archive dotnet.zip -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet.zip; \ diff --git a/configs/windows/Agent/nanoserver/NanoServer1809.Dockerfile b/configs/windows/Agent/nanoserver/NanoServer1809.Dockerfile index f2b32c1d9..c4673f2f3 100644 --- a/configs/windows/Agent/nanoserver/NanoServer1809.Dockerfile +++ b/configs/windows/Agent/nanoserver/NanoServer1809.Dockerfile @@ -13,6 +13,11 @@ ## ${agentCommentHeader} +# @AddToolToDoc [${jdkWindowsComponentName}](${jdkWindowsComponent}) +# @AddToolToDoc ${powerShellComponentName} +# @AddToolToDoc [${gitWindowsComponentName}](${gitWindowsComponent}) +# @AddToolToDoc [${dotnetWindowsComponentName}](${dotnetWindowsComponent}) + # Based on ${powershellImage} 3 FROM ${powershellImage} AS dotnet @@ -34,7 +39,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" -# Install ${powerShellComponentName} +# PowerShell COPY --from=dotnet ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used @@ -53,11 +58,11 @@ RUN pwsh -NoLogo -NoProfile -Command " \ Start-Sleep -Seconds 6 ; \ }" -# Install [${jdkWindowsComponentName}](${jdkWindowsComponent}) +# JDK COPY --from=tools ["C:/Program Files/Java/OpenJDK", "C:/Program Files/Java/OpenJDK"] -# Install [${gitWindowsComponentName}](${gitWindowsComponent}) +# Git COPY --from=tools ["C:/Program Files/Git", "C:/Program Files/Git"] -# Install [${dotnetWindowsComponentName}](${dotnetWindowsComponent}) +# .NET COPY --from=tools ["C:/Program Files/dotnet", "C:/Program Files/dotnet"] COPY --from=tools /BuildAgent /BuildAgent diff --git a/configs/windows/Agent/windowsservercore/WindowsServerCore1803.Dockerfile b/configs/windows/Agent/windowsservercore/WindowsServerCore1803.Dockerfile index fbb8a24ba..f65995816 100644 --- a/configs/windows/Agent/windowsservercore/WindowsServerCore1803.Dockerfile +++ b/configs/windows/Agent/windowsservercore/WindowsServerCore1803.Dockerfile @@ -24,6 +24,14 @@ ## ${agentCommentHeader} +# @AddToolToDoc [${jdkWindowsComponentName}](${jdkWindowsComponent}) +# @AddToolToDoc [${gitWindowsComponentName}](${gitWindowsComponent}) +# @AddToolToDoc ${powerShellComponentName} +# @AddToolToDoc [${mercurialWindowsComponentName}](${mercurialWindowsComponent}) +# @AddToolToDoc [${dotnetWindowsComponentName_31}](${dotnetWindowsComponent_31}) +# @AddToolToDoc [${dotnetWindowsComponentName_50}](${dotnetWindowsComponent_50}) +# @AddToolToDoc [${dotnetWindowsComponentName}](${dotnetWindowsComponent}) + # Based on ${teamcityMinimalAgentImage} FROM ${teamcityMinimalAgentImage} AS buildagent @@ -33,7 +41,7 @@ FROM ${windowsservercoreImage} COPY scripts/*.cs /scripts/ -# Install ${powerShellComponentName} +# PowerShell SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] ARG dotnetWindowsComponent @@ -53,22 +61,22 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ Add-Type -IgnoreWarnings -TypeDefinition "$code" -Language CSharp ; \ $downloadScript = [Scripts.Web]::DownloadFiles($Env:jdkWindowsComponent + '#MD5#' + $Env:jdkWindowsComponentMD5SUM, 'jdk.zip', $Env:gitWindowsComponent + '#SHA256#' + $Env:gitWindowsComponentSHA256, 'git.zip', $Env:mercurialWindowsComponent, 'hg.msi', $Env:dotnetWindowsComponent + '#SHA512#' + $Env:dotnetWindowsComponentSHA512, 'dotnet.zip', $Env:dotnetWindowsComponent_31 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_31, 'dotnet_31.zip', $Env:dotnetWindowsComponent_50 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_50, 'dotnet_50.zip') ; \ Remove-Item -Force -Recurse $Env:ProgramFiles\dotnet; \ -# Install [${dotnetWindowsComponentName_31}](${dotnetWindowsComponent_31}) +# .NET 3.1 Expand-Archive dotnet_31.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_31.zip; \ -# Install [${dotnetWindowsComponentName_50}](${dotnetWindowsComponent_50}) +# .NET 5.0 Expand-Archive dotnet_50.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_50.zip; \ -# Install [${dotnetWindowsComponentName}](${dotnetWindowsComponent}) +# .NET 6.0 Expand-Archive dotnet.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet.zip; \ Get-ChildItem -Path $Env:ProgramFiles\dotnet -Include *.lzma -File -Recurse | foreach { $_.Delete()}; \ -# Install [${jdkWindowsComponentName}](${jdkWindowsComponent}) +# JDK Expand-Archive jdk.zip -DestinationPath $Env:ProgramFiles\Java ; \ Get-ChildItem $Env:ProgramFiles\Java | Rename-Item -NewName "OpenJDK" ; \ Remove-Item $Env:ProgramFiles\Java\OpenJDK\lib\src.zip -Force ; \ Remove-Item -Force jdk.zip ; \ -# Install [${gitWindowsComponentName}](${gitWindowsComponent}) +# Git $gitPath = $Env:ProgramFiles + '\Git'; \ Expand-Archive git.zip -DestinationPath $gitPath ; \ Remove-Item -Force git.zip ; \ @@ -77,7 +85,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ $configContent = Get-Content $gitConfigFile; \ $configContent = $configContent.Replace('path = C:/Program Files/Git/etc/gitconfig', ''); \ Set-Content $gitConfigFile $configContent; \ -# Install [${mercurialWindowsComponentName}](${mercurialWindowsComponent}) +# Mercirual Start-Process msiexec -Wait -ArgumentList /q, /i, hg.msi ; \ Remove-Item -Force hg.msi diff --git a/configs/windows/MinimalAgent/nanoserver/NanoServer1803.Dockerfile b/configs/windows/MinimalAgent/nanoserver/NanoServer1803.Dockerfile index 92c95e789..bf0ff667e 100644 --- a/configs/windows/MinimalAgent/nanoserver/NanoServer1803.Dockerfile +++ b/configs/windows/MinimalAgent/nanoserver/NanoServer1803.Dockerfile @@ -13,8 +13,11 @@ ## ${agentCommentHeader} +# @AddToolToDoc ${powerShellComponentName} +# @AddToolToDoc [${jdkWindowsComponentName}](${jdkWindowsComponent}) + # Based on ${powershellImage} 3 -# Install ${powerShellComponentName} +# PoweShell FROM ${powershellImage} AS base SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] @@ -23,7 +26,7 @@ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference COPY TeamCity/buildAgent C:/BuildAgent COPY run-agent.ps1 /BuildAgent/run-agent.ps1 -# Install [${jdkWindowsComponentName}](${jdkWindowsComponent}) +# JDK ARG jdkWindowsComponent RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ diff --git a/configs/windows/MinimalAgent/nanoserver/NanoServer1809.Dockerfile b/configs/windows/MinimalAgent/nanoserver/NanoServer1809.Dockerfile index 70d670cbe..ee02cedad 100644 --- a/configs/windows/MinimalAgent/nanoserver/NanoServer1809.Dockerfile +++ b/configs/windows/MinimalAgent/nanoserver/NanoServer1809.Dockerfile @@ -15,6 +15,9 @@ ## ${agentCommentHeader} +# @AddToolToDoc [${jdkWindowsComponentName}](${jdkWindowsComponent}) +# @AddToolToDoc ${powerShellComponentName} + # Based on ${powershellImage} 3 FROM ${powershellImage} AS base @@ -25,7 +28,7 @@ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference COPY TeamCity/buildAgent C:/BuildAgent COPY run-agent.ps1 /BuildAgent/run-agent.ps1 -# Install [${jdkWindowsComponentName}](${jdkWindowsComponent}) +# JDK ARG jdkWindowsComponent ARG jdkWindowsComponentMD5SUM @@ -51,7 +54,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" -# Install ${powerShellComponentName} +# PowerShell COPY --from=base ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used diff --git a/configs/windows/Server/nanoserver/NanoServer1803.Dockerfile b/configs/windows/Server/nanoserver/NanoServer1803.Dockerfile index a73d4a0dd..90a309b88 100644 --- a/configs/windows/Server/nanoserver/NanoServer1803.Dockerfile +++ b/configs/windows/Server/nanoserver/NanoServer1803.Dockerfile @@ -16,13 +16,17 @@ ## ${serverCommentHeader} +# @AddToolToDoc [${jdkServerWindowsComponentName}](${jdkServerWindowsComponent}) +# @AddToolToDoc [${gitWindowsComponentName}](${gitWindowsComponent}) +# @AddToolToDoc ${powerShellComponentName} + # Based on ${powershellImage} 3 -# Install ${powerShellComponentName} +# PowerShell FROM ${powershellImage} AS base SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -# Install [${jdkServerWindowsComponentName}](${jdkServerWindowsComponent}) +# JDK ARG jdkServerWindowsComponent RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ @@ -32,7 +36,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ Remove-Item -Force jdk.zip ; \ Remove-Item $Env:ProgramFiles\Java\OpenJDK\lib\src.zip -Force -# Install [${gitWindowsComponentName}](${gitWindowsComponent}) +# Git ARG gitWindowsComponent RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ diff --git a/configs/windows/Server/nanoserver/NanoServer1809.Dockerfile b/configs/windows/Server/nanoserver/NanoServer1809.Dockerfile index 067a96d7d..8e894acbf 100644 --- a/configs/windows/Server/nanoserver/NanoServer1809.Dockerfile +++ b/configs/windows/Server/nanoserver/NanoServer1809.Dockerfile @@ -18,18 +18,22 @@ ## ${serverCommentHeader} +# @AddToolToDoc [${jdkServerWindowsComponentName}](${jdkServerWindowsComponent}) +# @AddToolToDoc ${powerShellComponentName} +# @AddToolToDoc [${gitWindowsComponentName}](${gitWindowsComponent}) + # Based on ${powershellImage} 3 -# Install ${powerShellComponentName} +# PowerShell FROM ${powershellImage} AS base COPY scripts/*.cs /scripts/ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -# Install [${jdkServerWindowsComponentName}](${jdkServerWindowsComponent}) +# JDK ARG jdkServerWindowsComponent ARG jdkServerWindowsComponentMD5SUM -# Install [${gitWindowsComponentName}](${gitWindowsComponent}) +# Git ARG gitWindowsComponent ARG gitWindowsComponentSHA256 diff --git a/context/generated/linux/Agent/Ubuntu/18.04-sudo/Dockerfile b/context/generated/linux/Agent/Ubuntu/18.04-sudo/Dockerfile index 725f0a245..0eca00e86 100644 --- a/context/generated/linux/Agent/Ubuntu/18.04-sudo/Dockerfile +++ b/context/generated/linux/Agent/Ubuntu/18.04-sudo/Dockerfile @@ -6,6 +6,7 @@ ARG teamcityAgentImage='teamcity-agent:EAP-linux-18.04' + FROM ${teamcityAgentImage} USER root diff --git a/context/generated/linux/Agent/Ubuntu/18.04/Dockerfile b/context/generated/linux/Agent/Ubuntu/18.04/Dockerfile index 7871d3055..27252746b 100644 --- a/context/generated/linux/Agent/Ubuntu/18.04/Dockerfile +++ b/context/generated/linux/Agent/Ubuntu/18.04/Dockerfile @@ -31,6 +31,9 @@ ARG teamcityMinimalAgentImage='teamcity-minimal-agent:EAP-linux-18.04' + + + FROM ${teamcityMinimalAgentImage} USER root @@ -75,6 +78,7 @@ RUN apt-get update && \ git lfs install --system && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ +# Perforce (p4 CLI) apt-key adv --fetch-keys https://package.perforce.com/perforce.pubkey && \ (. /etc/os-release && \ echo "deb http://package.perforce.com/apt/$ID $VERSION_CODENAME release" > \ @@ -83,6 +87,7 @@ RUN apt-get update && \ (. /etc/os-release && apt-get install -y helix-cli-base="${p4Version}~$VERSION_CODENAME" helix-cli="${p4Version}~$VERSION_CODENAME" ) && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ + # Docker & ContainerD curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ apt-cache policy docker-ce && \ @@ -93,22 +98,26 @@ RUN apt-get update && \ systemd && \ systemctl disable docker && \ sed -i -e 's/\r$//' /services/run-docker.sh && \ +# Docker Compose curl -SL "https://github.com/docker/compose/releases/download/${dockerComposeLinuxComponentVersion}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && \ # Dotnet apt-get install -y --no-install-recommends ${dotnetLibs} && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ mkdir -p /usr/share/dotnet && \ +# .NET Framework 3.1 curl -SL ${dotnetLinuxComponent_31} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxComponentSHA512_31} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ +# .NET 5.0 curl -SL ${dotnetLinuxComponent_50} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxComponentSHA512_50} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ +# .NET 6.0 curl -SL ${dotnetLinuxComponent} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxComponentSHA512} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ diff --git a/context/generated/linux/Agent/Ubuntu/20.04-sudo/Dockerfile b/context/generated/linux/Agent/Ubuntu/20.04-sudo/Dockerfile index 8dc9a06ed..368ade583 100644 --- a/context/generated/linux/Agent/Ubuntu/20.04-sudo/Dockerfile +++ b/context/generated/linux/Agent/Ubuntu/20.04-sudo/Dockerfile @@ -6,6 +6,7 @@ ARG teamcityAgentImage='teamcity-agent:EAP-linux' + FROM ${teamcityAgentImage} USER root diff --git a/context/generated/linux/Agent/Ubuntu/20.04/Dockerfile b/context/generated/linux/Agent/Ubuntu/20.04/Dockerfile index c66f87089..150af1e01 100644 --- a/context/generated/linux/Agent/Ubuntu/20.04/Dockerfile +++ b/context/generated/linux/Agent/Ubuntu/20.04/Dockerfile @@ -31,6 +31,9 @@ ARG teamcityMinimalAgentImage='teamcity-minimal-agent:EAP-linux' + + + FROM ${teamcityMinimalAgentImage} USER root @@ -75,6 +78,7 @@ RUN apt-get update && \ git lfs install --system && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ +# Perforce (p4 CLI) apt-key adv --fetch-keys https://package.perforce.com/perforce.pubkey && \ (. /etc/os-release && \ echo "deb http://package.perforce.com/apt/$ID $VERSION_CODENAME release" > \ @@ -83,6 +87,7 @@ RUN apt-get update && \ (. /etc/os-release && apt-get install -y helix-cli-base="${p4Version}~$VERSION_CODENAME" helix-cli="${p4Version}~$VERSION_CODENAME" ) && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ + # Docker & ContainerD curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ apt-cache policy docker-ce && \ @@ -93,22 +98,26 @@ RUN apt-get update && \ systemd && \ systemctl disable docker && \ sed -i -e 's/\r$//' /services/run-docker.sh && \ +# Docker Compose curl -SL "https://github.com/docker/compose/releases/download/${dockerComposeLinuxComponentVersion}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && \ # Dotnet apt-get install -y --no-install-recommends ${dotnetLibs} && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ mkdir -p /usr/share/dotnet && \ +# .NET Framework 3.1 curl -SL ${dotnetLinuxComponent_31} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxComponentSHA512_31} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ +# .NET 5.0 curl -SL ${dotnetLinuxComponent_50} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxComponentSHA512_50} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ +# .NET 6.0 curl -SL ${dotnetLinuxComponent} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxComponentSHA512} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ diff --git a/context/generated/linux/Agent/UbuntuARM/18.04-sudo/Dockerfile b/context/generated/linux/Agent/UbuntuARM/18.04-sudo/Dockerfile index 28e6f0624..3db576f5f 100644 --- a/context/generated/linux/Agent/UbuntuARM/18.04-sudo/Dockerfile +++ b/context/generated/linux/Agent/UbuntuARM/18.04-sudo/Dockerfile @@ -6,6 +6,8 @@ ARG teamcityAgentImage='teamcity-agent:EAP-linux-arm64-18.04' + + FROM ${teamcityAgentImage} USER root diff --git a/context/generated/linux/Agent/UbuntuARM/18.04/Dockerfile b/context/generated/linux/Agent/UbuntuARM/18.04/Dockerfile index 1539f0a07..c66cf40dc 100644 --- a/context/generated/linux/Agent/UbuntuARM/18.04/Dockerfile +++ b/context/generated/linux/Agent/UbuntuARM/18.04/Dockerfile @@ -30,6 +30,9 @@ ARG teamcityMinimalAgentImage='teamcity-minimal-agent:EAP-linux-arm64-18.04' + + + FROM ${teamcityMinimalAgentImage} USER root @@ -73,6 +76,7 @@ RUN apt-get update && \ git lfs install --system && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ +# Docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ apt-cache policy docker-ce && \ @@ -83,22 +87,26 @@ RUN apt-get update && \ systemd && \ systemctl disable docker && \ sed -i -e 's/\r$//' /services/run-docker.sh && \ +# Docker-Compose curl -SL "https://github.com/docker/compose/releases/download/${dockerComposeLinuxComponentVersion}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && \ -# Dotnet +# .NET Libraries apt-get install -y --no-install-recommends ${dotnetLibs} && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ mkdir -p /usr/share/dotnet && \ +# .NET Framework 3.1 curl -SL ${dotnetLinuxARM64Component_31} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxARM64ComponentSHA512_31} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ +# .NET 5.0 curl -SL ${dotnetLinuxARM64Component_50} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxARM64ComponentSHA512_50} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ +# .NET curl -SL ${dotnetLinuxARM64Component} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxARM64ComponentSHA512} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ diff --git a/context/generated/linux/Agent/UbuntuARM/20.04-sudo/Dockerfile b/context/generated/linux/Agent/UbuntuARM/20.04-sudo/Dockerfile index 1fef5d227..238e10505 100644 --- a/context/generated/linux/Agent/UbuntuARM/20.04-sudo/Dockerfile +++ b/context/generated/linux/Agent/UbuntuARM/20.04-sudo/Dockerfile @@ -6,6 +6,8 @@ ARG teamcityAgentImage='teamcity-agent:EAP-linux-arm64' + + FROM ${teamcityAgentImage} USER root diff --git a/context/generated/linux/Agent/UbuntuARM/20.04/Dockerfile b/context/generated/linux/Agent/UbuntuARM/20.04/Dockerfile index 8e7c2463f..fccfe496b 100644 --- a/context/generated/linux/Agent/UbuntuARM/20.04/Dockerfile +++ b/context/generated/linux/Agent/UbuntuARM/20.04/Dockerfile @@ -30,6 +30,9 @@ ARG teamcityMinimalAgentImage='teamcity-minimal-agent:EAP-linux-arm64' + + + FROM ${teamcityMinimalAgentImage} USER root @@ -73,6 +76,7 @@ RUN apt-get update && \ git lfs install --system && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ +# Docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \ apt-cache policy docker-ce && \ @@ -83,22 +87,26 @@ RUN apt-get update && \ systemd && \ systemctl disable docker && \ sed -i -e 's/\r$//' /services/run-docker.sh && \ +# Docker-Compose curl -SL "https://github.com/docker/compose/releases/download/${dockerComposeLinuxComponentVersion}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && \ -# Dotnet +# .NET Libraries apt-get install -y --no-install-recommends ${dotnetLibs} && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ mkdir -p /usr/share/dotnet && \ +# .NET Framework 3.1 curl -SL ${dotnetLinuxARM64Component_31} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxARM64ComponentSHA512_31} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ +# .NET 5.0 curl -SL ${dotnetLinuxARM64Component_50} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxARM64ComponentSHA512_50} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ rm /tmp/dotnet.tar.gz && \ find /usr/share/dotnet -name "*.lzma" -type f -delete && \ +# .NET curl -SL ${dotnetLinuxARM64Component} --output /tmp/dotnet.tar.gz && \ echo "${dotnetLinuxARM64ComponentSHA512} */tmp/dotnet.tar.gz" | sha512sum -c -; \ tar -zxf /tmp/dotnet.tar.gz -C /usr/share/dotnet && \ diff --git a/context/generated/linux/MinimalAgent/Ubuntu/18.04/Dockerfile b/context/generated/linux/MinimalAgent/Ubuntu/18.04/Dockerfile index 1afe676ae..6481a0649 100644 --- a/context/generated/linux/MinimalAgent/Ubuntu/18.04/Dockerfile +++ b/context/generated/linux/MinimalAgent/Ubuntu/18.04/Dockerfile @@ -10,12 +10,14 @@ ARG ubuntuImage='ubuntu:18.04' + FROM ${ubuntuImage} ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' DEBIAN_FRONTEND=noninteractive TZ="Europe/London" RUN apt-get update && \ apt-get install -y --no-install-recommends curl ca-certificates fontconfig locales unzip && \ +# Python apt-get install -y python3-venv && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ @@ -24,6 +26,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* && \ useradd -m buildagent +# JDK ARG jdkLinuxComponent ARG jdkLinuxComponentMD5SUM diff --git a/context/generated/linux/MinimalAgent/Ubuntu/20.04/Dockerfile b/context/generated/linux/MinimalAgent/Ubuntu/20.04/Dockerfile index 79455f9aa..e26536c78 100644 --- a/context/generated/linux/MinimalAgent/Ubuntu/20.04/Dockerfile +++ b/context/generated/linux/MinimalAgent/Ubuntu/20.04/Dockerfile @@ -10,12 +10,14 @@ ARG ubuntuImage='ubuntu:20.04' + FROM ${ubuntuImage} ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' DEBIAN_FRONTEND=noninteractive TZ="Europe/London" RUN apt-get update && \ apt-get install -y --no-install-recommends curl ca-certificates fontconfig locales unzip && \ +# Python apt-get install -y python3-venv && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 apt-get clean && rm -rf /var/lib/apt/lists/* && \ @@ -24,6 +26,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* && \ useradd -m buildagent +# JDK ARG jdkLinuxComponent ARG jdkLinuxComponentMD5SUM diff --git a/context/generated/linux/MinimalAgent/UbuntuARM/18.04/Dockerfile b/context/generated/linux/MinimalAgent/UbuntuARM/18.04/Dockerfile index 28e1eb757..ac6dbcc89 100644 --- a/context/generated/linux/MinimalAgent/UbuntuARM/18.04/Dockerfile +++ b/context/generated/linux/MinimalAgent/UbuntuARM/18.04/Dockerfile @@ -10,6 +10,7 @@ ARG ubuntuImage='ubuntu:18.04' + FROM ${ubuntuImage} ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' DEBIAN_FRONTEND=noninteractive TZ="Europe/London" @@ -17,6 +18,7 @@ ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' DEBIAN_FRONTEND= RUN apt-get update && \ apt-get install -y --no-install-recommends curl ca-certificates fontconfig locales unzip && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 +# Python apt-get install -y python3-venv && \ apt-get clean && rm -rf /var/lib/apt/lists/* && \ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && \ @@ -24,6 +26,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* && \ useradd -m buildagent +# JDK ARG jdkLinuxARM64Component ARG jdkLinuxARM64ComponentMD5SUM diff --git a/context/generated/linux/MinimalAgent/UbuntuARM/20.04/Dockerfile b/context/generated/linux/MinimalAgent/UbuntuARM/20.04/Dockerfile index b5c4b1eb6..2d6d30972 100644 --- a/context/generated/linux/MinimalAgent/UbuntuARM/20.04/Dockerfile +++ b/context/generated/linux/MinimalAgent/UbuntuARM/20.04/Dockerfile @@ -10,6 +10,7 @@ ARG ubuntuImage='ubuntu:20.04' + FROM ${ubuntuImage} ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' DEBIAN_FRONTEND=noninteractive TZ="Europe/London" @@ -17,6 +18,7 @@ ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' DEBIAN_FRONTEND= RUN apt-get update && \ apt-get install -y --no-install-recommends curl ca-certificates fontconfig locales unzip && \ # https://github.com/goodwithtech/dockle/blob/master/CHECKPOINT.md#dkl-di-0005 +# Python apt-get install -y python3-venv && \ apt-get clean && rm -rf /var/lib/apt/lists/* && \ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && \ @@ -24,6 +26,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* && \ useradd -m buildagent +# JDK ARG jdkLinuxARM64Component ARG jdkLinuxARM64ComponentMD5SUM diff --git a/context/generated/linux/Server/Ubuntu/18.04/Dockerfile b/context/generated/linux/Server/Ubuntu/18.04/Dockerfile index 1c751e08f..e16af5c09 100644 --- a/context/generated/linux/Server/Ubuntu/18.04/Dockerfile +++ b/context/generated/linux/Server/Ubuntu/18.04/Dockerfile @@ -16,6 +16,7 @@ ARG ubuntuImage='ubuntu:18.04' + FROM ${ubuntuImage} ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' @@ -29,7 +30,6 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # JDK preparation start - ARG jdkServerLinuxComponent ARG jdkServerLinuxComponentMD5SUM @@ -60,10 +60,13 @@ ENV TEAMCITY_DATA_PATH=/data/teamcity_server/datadir \ EXPOSE 8111 +# Git ARG gitLinuxComponentVersion +# Git LFS ARG gitLFSLinuxComponentVersion +# Perforce ARG p4Version RUN apt-get update && \ diff --git a/context/generated/linux/Server/Ubuntu/20.04/Dockerfile b/context/generated/linux/Server/Ubuntu/20.04/Dockerfile index f914975f0..66389c5e4 100644 --- a/context/generated/linux/Server/Ubuntu/20.04/Dockerfile +++ b/context/generated/linux/Server/Ubuntu/20.04/Dockerfile @@ -16,6 +16,7 @@ ARG ubuntuImage='ubuntu:20.04' + FROM ${ubuntuImage} ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' @@ -29,7 +30,6 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # JDK preparation start - ARG jdkServerLinuxComponent ARG jdkServerLinuxComponentMD5SUM @@ -60,10 +60,13 @@ ENV TEAMCITY_DATA_PATH=/data/teamcity_server/datadir \ EXPOSE 8111 +# Git ARG gitLinuxComponentVersion +# Git LFS ARG gitLFSLinuxComponentVersion +# Perforce ARG p4Version RUN apt-get update && \ diff --git a/context/generated/linux/Server/UbuntuARM/18.04/Dockerfile b/context/generated/linux/Server/UbuntuARM/18.04/Dockerfile index f452c8ac4..23b5bfb85 100644 --- a/context/generated/linux/Server/UbuntuARM/18.04/Dockerfile +++ b/context/generated/linux/Server/UbuntuARM/18.04/Dockerfile @@ -15,6 +15,7 @@ ARG ubuntuImage='ubuntu:18.04' + FROM ${ubuntuImage} ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' @@ -28,7 +29,6 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # JDK preparation start - ARG jdkServerLinuxARM64Component ARG jdkServerLinuxARM64ComponentMD5SUM @@ -59,8 +59,10 @@ ENV TEAMCITY_DATA_PATH=/data/teamcity_server/datadir \ EXPOSE 8111 +# Git ARG gitLinuxComponentVersion +# Git LFS ARG gitLFSLinuxComponentVersion RUN apt-get update && \ diff --git a/context/generated/linux/Server/UbuntuARM/20.04/Dockerfile b/context/generated/linux/Server/UbuntuARM/20.04/Dockerfile index 6e890a912..5412e9f43 100644 --- a/context/generated/linux/Server/UbuntuARM/20.04/Dockerfile +++ b/context/generated/linux/Server/UbuntuARM/20.04/Dockerfile @@ -15,6 +15,7 @@ ARG ubuntuImage='ubuntu:20.04' + FROM ${ubuntuImage} ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' @@ -28,7 +29,6 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # JDK preparation start - ARG jdkServerLinuxARM64Component ARG jdkServerLinuxARM64ComponentMD5SUM @@ -59,8 +59,10 @@ ENV TEAMCITY_DATA_PATH=/data/teamcity_server/datadir \ EXPOSE 8111 +# Git ARG gitLinuxComponentVersion +# Git LFS ARG gitLFSLinuxComponentVersion RUN apt-get update && \ diff --git a/context/generated/teamcity-agent.md b/context/generated/teamcity-agent.md index 64d663329..87ace879c 100644 --- a/context/generated/teamcity-agent.md +++ b/context/generated/teamcity-agent.md @@ -79,15 +79,20 @@ The docker image is available on: Installed components: -- Git v.2.42.0 +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) 443750a02c28ff2807c80032ee2e8ebc](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-x64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) 443750a02c28ff2807c80032ee2e8ebc](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-x64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) - Git LFS v.2.9.2 +- Git v.2.42.0 - Mercurial -- Perforce Helix Core client (p4) [2022.2-2468771](https://www.perforce.com/products/helix-core) -- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12), [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) +- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12) - [Docker Compose v.1.28.5](https://github.com/docker/compose/releases/tag/1.28.5) +- [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) - [.NET Runtime v.3.1.32 x86 Checksum (SHA512) 56c5e045844f5474a9a12b42e4a22c851985fac5690e227ce62b529d644c4faeaafdfe255de2f1e86a90c0c114e7de66ce4de1692fbf66357ac4d35341f933c3](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-linux-x64.tar.gz) -- [.NET Runtime v.5.0.17 x86 Checksum (SHA512) f47eec03d2b6777e78e2a993306727fa6871cf7f6e295ed70f684745a9f9fc960f0068750007519733426db52afa10e0bcd1c58879019d5d8f1f5f295868e4f3](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-x64.tar.gz) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) 4390ba65e592c4f770b247f11228bbd2ed70aab30fbe6613c2bf7ec0c7c54d09b5a47ff160d4424dacc59661613fd4c9460d62f141a64def02a7228dd160f916](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-x64.tar.gz) +- [.NET Runtime v.5.0.17 x86 Checksum (SHA512) f47eec03d2b6777e78e2a993306727fa6871cf7f6e295ed70f684745a9f9fc960f0068750007519733426db52afa10e0bcd1c58879019d5d8f1f5f295868e4f3](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-x64.tar.gz) +- Perforce Helix Core client (p4) [2022.2-2468771](https://www.perforce.com/products/helix-core) Container platform: linux @@ -118,14 +123,17 @@ The docker image is available on: Installed components: +- [JDK Amazon Corretto aarch64 v.17.0.7.7.1 Checksum (MD5) c55e3d0615fac07f948ac3adaed818e9](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-aarch64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) - Git v.2.42.0 - Git LFS v.2.9.2 - Mercurial -- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12), [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) +- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12) +- [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) - [Docker Compose v.1.28.5](https://github.com/docker/compose/releases/tag/1.28.5) +- [.NET SDK v.6.0.413 arm64 Checksum (SHA512) 7f05a9774d79e694da5a6115d9916abf87a65e40bd6bdaa5dca1f705795436bc8e764242f7045207386a86732ef5519f60bdb516a3860e4860bca7ee91a21759](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-arm64.tar.gz) - [.NET Runtime v.3.1.32 arm64 Checksum (SHA512) ff311df0db488f3b5cc03c7f6724f8442de7e60fa0a503ec8f536361ce7a357ad26d09d2499d68c50ebdfa751a5520bba4aaa77a38b191c892d5a018561ce422](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-linux-arm64.tar.gz) - [.NET Runtime v.5.0.17 arm65 Checksum (SHA512) 99cb11871924d3abedcc9c8079c54bc0c550203c7cbe4e349ed70d4355f40e4620b68d90b797e6461d898c06bed6953580e2cd4ad01483e5de107ca5a3409610](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-arm64.tar.gz) -- [.NET SDK v.6.0.413 arm64 Checksum (SHA512) 7f05a9774d79e694da5a6115d9916abf87a65e40bd6bdaa5dca1f705795436bc8e764242f7045207386a86732ef5519f60bdb516a3860e4860bca7ee91a21759](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-arm64.tar.gz) Container platform: linux @@ -155,6 +163,20 @@ The docker image is available on: - [https://hub.docker.com/r/jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent) +Installed components: + +- [JDK Amazon Corretto aarch64 v.17.0.7.7.1 Checksum (MD5) c55e3d0615fac07f948ac3adaed818e9](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-aarch64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +- Git v.2.42.0 +- Git LFS v.2.9.2 +- Mercurial +- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12) +- [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) +- [Docker Compose v.1.28.5](https://github.com/docker/compose/releases/tag/1.28.5) +- [.NET SDK v.6.0.413 arm64 Checksum (SHA512) 7f05a9774d79e694da5a6115d9916abf87a65e40bd6bdaa5dca1f705795436bc8e764242f7045207386a86732ef5519f60bdb516a3860e4860bca7ee91a21759](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-arm64.tar.gz) +- [.NET Runtime v.3.1.32 arm64 Checksum (SHA512) ff311df0db488f3b5cc03c7f6724f8442de7e60fa0a503ec8f536361ce7a357ad26d09d2499d68c50ebdfa751a5520bba4aaa77a38b191c892d5a018561ce422](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-linux-arm64.tar.gz) +- [.NET Runtime v.5.0.17 arm65 Checksum (SHA512) 99cb11871924d3abedcc9c8079c54bc0c550203c7cbe4e349ed70d4355f40e4620b68d90b797e6461d898c06bed6953580e2cd4ad01483e5de107ca5a3409610](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-arm64.tar.gz) + Container platform: linux Docker build commands: @@ -184,6 +206,21 @@ The docker image is available on: - [https://hub.docker.com/r/jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent) +Installed components: + +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) 443750a02c28ff2807c80032ee2e8ebc](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-x64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +- Git LFS v.2.9.2 +- Git v.2.42.0 +- Mercurial +- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12) +- [Docker Compose v.1.28.5](https://github.com/docker/compose/releases/tag/1.28.5) +- [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) +- [.NET Runtime v.3.1.32 x86 Checksum (SHA512) 56c5e045844f5474a9a12b42e4a22c851985fac5690e227ce62b529d644c4faeaafdfe255de2f1e86a90c0c114e7de66ce4de1692fbf66357ac4d35341f933c3](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-linux-x64.tar.gz) +- [.NET SDK v.6.0.413 x86 Checksum (SHA512) 4390ba65e592c4f770b247f11228bbd2ed70aab30fbe6613c2bf7ec0c7c54d09b5a47ff160d4424dacc59661613fd4c9460d62f141a64def02a7228dd160f916](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-x64.tar.gz) +- [.NET Runtime v.5.0.17 x86 Checksum (SHA512) f47eec03d2b6777e78e2a993306727fa6871cf7f6e295ed70f684745a9f9fc960f0068750007519733426db52afa10e0bcd1c58879019d5d8f1f5f295868e4f3](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-x64.tar.gz) +- Perforce Helix Core client (p4) [2022.2-2468771](https://www.perforce.com/products/helix-core) + Container platform: linux Docker build commands: @@ -214,8 +251,8 @@ The docker image is available on: Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) @@ -249,8 +286,8 @@ The docker image is available on: Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) @@ -284,13 +321,13 @@ The docker image is available on: Installed components: +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) - [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) +- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) - [.NET Runtime v.3.1.32 x86 Checksum (SHA512) 72a3feb6784c5c69cb464ad4a8678e719615bd1e4e9a7c3cf5c1f67a4f01e08c073424532772f1e320d05f63c01079c6a089be45f4777abe035f14ffbf06f38b](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-win-x64.zip) - [.NET Runtime v.5.0.17 x86 Checksum (SHA512) 424df2b535f73c40aea164623a8a8f549bd18f89406eb2cb84289cb4cfceb3450db7762c5582756263d79ed628a574730e708d87dc906fd2c00d29f64942c782](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-win-x64.zip) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) -- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) -- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) -- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) Container platform: windows @@ -321,13 +358,13 @@ The docker image is available on: Installed components: +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) - [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) +- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) - [.NET Runtime v.3.1.32 x86 Checksum (SHA512) 72a3feb6784c5c69cb464ad4a8678e719615bd1e4e9a7c3cf5c1f67a4f01e08c073424532772f1e320d05f63c01079c6a089be45f4777abe035f14ffbf06f38b](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-win-x64.zip) - [.NET Runtime v.5.0.17 x86 Checksum (SHA512) 424df2b535f73c40aea164623a8a8f549bd18f89406eb2cb84289cb4cfceb3450db7762c5582756263d79ed628a574730e708d87dc906fd2c00d29f64942c782](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-win-x64.zip) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) -- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) -- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) -- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) Container platform: windows @@ -355,15 +392,20 @@ The docker image is not available and may be created manually. Installed components: -- Git v.2.41.0 +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) 443750a02c28ff2807c80032ee2e8ebc](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-x64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) 443750a02c28ff2807c80032ee2e8ebc](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-x64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) - Git LFS v.2.3.4 +- Git v.2.41.0 - Mercurial -- Perforce Helix Core client (p4) [2022.2-2468771](https://www.perforce.com/products/helix-core) -- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12), [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) +- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12) - [Docker Compose v.1.28.5](https://github.com/docker/compose/releases/tag/1.28.5) +- [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) - [.NET Runtime v.3.1.32 x86 Checksum (SHA512) 56c5e045844f5474a9a12b42e4a22c851985fac5690e227ce62b529d644c4faeaafdfe255de2f1e86a90c0c114e7de66ce4de1692fbf66357ac4d35341f933c3](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-linux-x64.tar.gz) -- [.NET Runtime v.5.0.17 x86 Checksum (SHA512) f47eec03d2b6777e78e2a993306727fa6871cf7f6e295ed70f684745a9f9fc960f0068750007519733426db52afa10e0bcd1c58879019d5d8f1f5f295868e4f3](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-x64.tar.gz) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) 4390ba65e592c4f770b247f11228bbd2ed70aab30fbe6613c2bf7ec0c7c54d09b5a47ff160d4424dacc59661613fd4c9460d62f141a64def02a7228dd160f916](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-x64.tar.gz) +- [.NET Runtime v.5.0.17 x86 Checksum (SHA512) f47eec03d2b6777e78e2a993306727fa6871cf7f6e295ed70f684745a9f9fc960f0068750007519733426db52afa10e0bcd1c58879019d5d8f1f5f295868e4f3](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-x64.tar.gz) +- Perforce Helix Core client (p4) [2022.2-2468771](https://www.perforce.com/products/helix-core) Container platform: linux @@ -390,6 +432,21 @@ This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) bu This image allows to do *__sudo__* without a password for the *__buildagent__* user. ## To enable Docker, please add the following arguments: ```--privileged -e DOCKER_IN_DOCKER=start```. The docker image is not available and may be created manually. +Installed components: + +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) 443750a02c28ff2807c80032ee2e8ebc](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-x64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +- Git LFS v.2.9.2 +- Git v.2.42.0 +- Mercurial +- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12) +- [Docker Compose v.1.28.5](https://github.com/docker/compose/releases/tag/1.28.5) +- [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) +- [.NET Runtime v.3.1.32 x86 Checksum (SHA512) 56c5e045844f5474a9a12b42e4a22c851985fac5690e227ce62b529d644c4faeaafdfe255de2f1e86a90c0c114e7de66ce4de1692fbf66357ac4d35341f933c3](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-linux-x64.tar.gz) +- [.NET SDK v.6.0.413 x86 Checksum (SHA512) 4390ba65e592c4f770b247f11228bbd2ed70aab30fbe6613c2bf7ec0c7c54d09b5a47ff160d4424dacc59661613fd4c9460d62f141a64def02a7228dd160f916](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-x64.tar.gz) +- [.NET Runtime v.5.0.17 x86 Checksum (SHA512) f47eec03d2b6777e78e2a993306727fa6871cf7f6e295ed70f684745a9f9fc960f0068750007519733426db52afa10e0bcd1c58879019d5d8f1f5f295868e4f3](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-x64.tar.gz) +- Perforce Helix Core client (p4) [2022.2-2468771](https://www.perforce.com/products/helix-core) + Container platform: linux Docker build commands: @@ -417,14 +474,17 @@ The docker image is not available and may be created manually. Installed components: +- [JDK Amazon Corretto aarch64 v.17.0.7.7.1 Checksum (MD5) c55e3d0615fac07f948ac3adaed818e9](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-aarch64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) - Git v.2.41.0 - Git LFS v.2.3.4 - Mercurial -- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12), [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) +- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12) +- [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) - [Docker Compose v.1.28.5](https://github.com/docker/compose/releases/tag/1.28.5) +- [.NET SDK v.6.0.413 arm64 Checksum (SHA512) 7f05a9774d79e694da5a6115d9916abf87a65e40bd6bdaa5dca1f705795436bc8e764242f7045207386a86732ef5519f60bdb516a3860e4860bca7ee91a21759](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-arm64.tar.gz) - [.NET Runtime v.3.1.32 arm64 Checksum (SHA512) ff311df0db488f3b5cc03c7f6724f8442de7e60fa0a503ec8f536361ce7a357ad26d09d2499d68c50ebdfa751a5520bba4aaa77a38b191c892d5a018561ce422](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-linux-arm64.tar.gz) - [.NET Runtime v.5.0.17 arm65 Checksum (SHA512) 99cb11871924d3abedcc9c8079c54bc0c550203c7cbe4e349ed70d4355f40e4620b68d90b797e6461d898c06bed6953580e2cd4ad01483e5de107ca5a3409610](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-arm64.tar.gz) -- [.NET SDK v.6.0.413 arm64 Checksum (SHA512) 7f05a9774d79e694da5a6115d9916abf87a65e40bd6bdaa5dca1f705795436bc8e764242f7045207386a86732ef5519f60bdb516a3860e4860bca7ee91a21759](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-arm64.tar.gz) Container platform: linux @@ -451,6 +511,20 @@ This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) bu This image allows to do *__sudo__* without a password for the *__buildagent__* user. ## To enable Docker, please add the following arguments: ```--privileged -e DOCKER_IN_DOCKER=start```. The docker image is not available and may be created manually. +Installed components: + +- [JDK Amazon Corretto aarch64 v.17.0.7.7.1 Checksum (MD5) c55e3d0615fac07f948ac3adaed818e9](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-aarch64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) +- Git v.2.42.0 +- Git LFS v.2.9.2 +- Mercurial +- [Docker v.5:20.10.12](https://github.com/docker/cli/releases/tag/v20.10.12) +- [Containerd.io v1.4.12-1](https://ubuntu.pkgs.org/20.04/docker-ce-stable-amd64/containerd.io_1.4.12-1_amd64.deb.html) +- [Docker Compose v.1.28.5](https://github.com/docker/compose/releases/tag/1.28.5) +- [.NET SDK v.6.0.413 arm64 Checksum (SHA512) 7f05a9774d79e694da5a6115d9916abf87a65e40bd6bdaa5dca1f705795436bc8e764242f7045207386a86732ef5519f60bdb516a3860e4860bca7ee91a21759](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-arm64.tar.gz) +- [.NET Runtime v.3.1.32 arm64 Checksum (SHA512) ff311df0db488f3b5cc03c7f6724f8442de7e60fa0a503ec8f536361ce7a357ad26d09d2499d68c50ebdfa751a5520bba4aaa77a38b191c892d5a018561ce422](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-linux-arm64.tar.gz) +- [.NET Runtime v.5.0.17 arm65 Checksum (SHA512) 99cb11871924d3abedcc9c8079c54bc0c550203c7cbe4e349ed70d4355f40e4620b68d90b797e6461d898c06bed6953580e2cd4ad01483e5de107ca5a3409610](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-linux-arm64.tar.gz) + Container platform: linux Docker build commands: @@ -478,8 +552,8 @@ The docker image is not available and may be created manually. Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) Container platform: windows @@ -507,8 +581,8 @@ The docker image is not available and may be created manually. Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) @@ -539,8 +613,8 @@ The docker image is not available and may be created manually. Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) @@ -571,13 +645,13 @@ The docker image is not available and may be created manually. Installed components: +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) - [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) +- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) - [.NET Runtime v.3.1.32 x86 Checksum (SHA512) 72a3feb6784c5c69cb464ad4a8678e719615bd1e4e9a7c3cf5c1f67a4f01e08c073424532772f1e320d05f63c01079c6a089be45f4777abe035f14ffbf06f38b](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-win-x64.zip) - [.NET Runtime v.5.0.17 x86 Checksum (SHA512) 424df2b535f73c40aea164623a8a8f549bd18f89406eb2cb84289cb4cfceb3450db7762c5582756263d79ed628a574730e708d87dc906fd2c00d29f64942c782](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-win-x64.zip) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) -- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) -- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) -- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) Container platform: windows @@ -604,13 +678,13 @@ The docker image is not available and may be created manually. Installed components: +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) - [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) +- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) - [.NET Runtime v.3.1.32 x86 Checksum (SHA512) 72a3feb6784c5c69cb464ad4a8678e719615bd1e4e9a7c3cf5c1f67a4f01e08c073424532772f1e320d05f63c01079c6a089be45f4777abe035f14ffbf06f38b](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-win-x64.zip) - [.NET Runtime v.5.0.17 x86 Checksum (SHA512) 424df2b535f73c40aea164623a8a8f549bd18f89406eb2cb84289cb4cfceb3450db7762c5582756263d79ed628a574730e708d87dc906fd2c00d29f64942c782](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-win-x64.zip) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) -- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) -- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) -- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) Container platform: windows @@ -638,13 +712,13 @@ The docker image is not available and may be created manually. Installed components: +- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) - [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) +- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) - [.NET Runtime v.3.1.32 x86 Checksum (SHA512) 72a3feb6784c5c69cb464ad4a8678e719615bd1e4e9a7c3cf5c1f67a4f01e08c073424532772f1e320d05f63c01079c6a089be45f4777abe035f14ffbf06f38b](https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.32/dotnet-runtime-3.1.32-win-x64.zip) - [.NET Runtime v.5.0.17 x86 Checksum (SHA512) 424df2b535f73c40aea164623a8a8f549bd18f89406eb2cb84289cb4cfceb3450db7762c5582756263d79ed628a574730e708d87dc906fd2c00d29f64942c782](https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.17/dotnet-runtime-5.0.17-win-x64.zip) - [.NET SDK v.6.0.413 x86 Checksum (SHA512) a9e1bbb52484ad0667b258451ebb6b47ce6c7b788c015aee8a86c5e0c4dcf4ee8c82d796921869d64c92bb2afef2c7ceea09cfe255d8519d48f2471a098c361e](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-win-x64.zip) -- [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) -- [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) -- [Mercurial x64 v.5.9.1](https://www.mercurial-scm.org/release/windows/mercurial-5.9.1-x64.msi) Container platform: windows diff --git a/context/generated/teamcity-minimal-agent.md b/context/generated/teamcity-minimal-agent.md index bab63040f..a775dcb3c 100644 --- a/context/generated/teamcity-minimal-agent.md +++ b/context/generated/teamcity-minimal-agent.md @@ -57,8 +57,8 @@ The docker image is available on: Installed components: -- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) 443750a02c28ff2807c80032ee2e8ebc](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-x64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) Container platform: linux @@ -143,8 +143,8 @@ The docker image is not available and may be created manually. Installed components: -- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) 443750a02c28ff2807c80032ee2e8ebc](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-x64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) Container platform: linux @@ -169,8 +169,8 @@ The docker image is not available and may be created manually. Installed components: -- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) - [JDK Amazon Corretto aarch64 v.17.0.7.7.1 Checksum (MD5) c55e3d0615fac07f948ac3adaed818e9](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-aarch64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) Container platform: linux @@ -195,8 +195,8 @@ The docker image is not available and may be created manually. Installed components: -- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) - [JDK Amazon Corretto aarch64 v.17.0.7.7.1 Checksum (MD5) c55e3d0615fac07f948ac3adaed818e9](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-linux-aarch64.tar.gz) +- [Python venv](https://docs.python.org/3/library/venv.html#module-venv) Container platform: linux diff --git a/context/generated/teamcity-server.md b/context/generated/teamcity-server.md index 463df4532..ca8d64cdb 100644 --- a/context/generated/teamcity-server.md +++ b/context/generated/teamcity-server.md @@ -87,8 +87,8 @@ The docker image is available on: Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) Container platform: windows @@ -116,8 +116,8 @@ The docker image is available on: Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) Container platform: windows @@ -221,9 +221,9 @@ The docker image is not available and may be created manually. Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) - [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) Container platform: windows @@ -247,8 +247,8 @@ The docker image is not available and may be created manually. Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) Container platform: windows @@ -273,8 +273,8 @@ The docker image is not available and may be created manually. Installed components: -- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [JDK Amazon Corretto x64 v.17.0.7.7.1 Checksum (MD5) feb7eab99c647a0b4347be9f0a3276de](https://corretto.aws/downloads/resources/17.0.7.7.1/amazon-corretto-17.0.7.7.1-windows-x64-jdk.zip) +- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell) - [Git x64 v.2.42.0 Checksum (SHA256) b945e6df773fd8013f12e26b65b6815122be62a241d3ef4b9ed2d5ae67ae0aa1](https://github.com/git-for-windows/git/releases/download/v2.42.0.windows.1/MinGit-2.42.0-64-bit.zip) Container platform: windows diff --git a/context/generated/windows/Agent/nanoserver/1803/Dockerfile b/context/generated/windows/Agent/nanoserver/1803/Dockerfile index 628a6d74f..f1217d653 100644 --- a/context/generated/windows/Agent/nanoserver/1803/Dockerfile +++ b/context/generated/windows/Agent/nanoserver/1803/Dockerfile @@ -11,12 +11,15 @@ ARG teamcityWindowsservercoreImage='teamcity-agent:EAP-windowsservercore-1803' + +# PowerShell FROM ${powershellImage} AS dotnet SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] ARG dotnetWindowsComponent +# .NET RUN Invoke-WebRequest -OutFile dotnet.zip $Env:dotnetWindowsComponent; \ Expand-Archive dotnet.zip -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet.zip; \ diff --git a/context/generated/windows/Agent/nanoserver/1809/Dockerfile b/context/generated/windows/Agent/nanoserver/1809/Dockerfile index 92ce4784b..18bcf0543 100644 --- a/context/generated/windows/Agent/nanoserver/1809/Dockerfile +++ b/context/generated/windows/Agent/nanoserver/1809/Dockerfile @@ -10,6 +10,7 @@ ARG teamcityWindowsservercoreImage='teamcity-agent:EAP-windowsservercore-1809' + FROM ${powershellImage} AS dotnet COPY scripts/*.cs /scripts/ @@ -28,6 +29,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" +# PowerShell COPY --from=dotnet ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used @@ -46,8 +48,11 @@ RUN pwsh -NoLogo -NoProfile -Command " \ Start-Sleep -Seconds 6 ; \ }" +# JDK COPY --from=tools ["C:/Program Files/Java/OpenJDK", "C:/Program Files/Java/OpenJDK"] +# Git COPY --from=tools ["C:/Program Files/Git", "C:/Program Files/Git"] +# .NET COPY --from=tools ["C:/Program Files/dotnet", "C:/Program Files/dotnet"] COPY --from=tools /BuildAgent /BuildAgent diff --git a/context/generated/windows/Agent/nanoserver/1903/Dockerfile b/context/generated/windows/Agent/nanoserver/1903/Dockerfile index 14f15be99..fed17c040 100644 --- a/context/generated/windows/Agent/nanoserver/1903/Dockerfile +++ b/context/generated/windows/Agent/nanoserver/1903/Dockerfile @@ -10,6 +10,7 @@ ARG teamcityWindowsservercoreImage='teamcity-agent:EAP-windowsservercore-1903' + FROM ${powershellImage} AS dotnet COPY scripts/*.cs /scripts/ @@ -28,6 +29,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" +# PowerShell COPY --from=dotnet ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used @@ -46,8 +48,11 @@ RUN pwsh -NoLogo -NoProfile -Command " \ Start-Sleep -Seconds 6 ; \ }" +# JDK COPY --from=tools ["C:/Program Files/Java/OpenJDK", "C:/Program Files/Java/OpenJDK"] +# Git COPY --from=tools ["C:/Program Files/Git", "C:/Program Files/Git"] +# .NET COPY --from=tools ["C:/Program Files/dotnet", "C:/Program Files/dotnet"] COPY --from=tools /BuildAgent /BuildAgent diff --git a/context/generated/windows/Agent/nanoserver/1909/Dockerfile b/context/generated/windows/Agent/nanoserver/1909/Dockerfile index b1fb86431..578b4f15d 100644 --- a/context/generated/windows/Agent/nanoserver/1909/Dockerfile +++ b/context/generated/windows/Agent/nanoserver/1909/Dockerfile @@ -10,6 +10,7 @@ ARG teamcityWindowsservercoreImage='teamcity-agent:EAP-windowsservercore-1909' + FROM ${powershellImage} AS dotnet COPY scripts/*.cs /scripts/ @@ -28,6 +29,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" +# PowerShell COPY --from=dotnet ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used @@ -46,8 +48,11 @@ RUN pwsh -NoLogo -NoProfile -Command " \ Start-Sleep -Seconds 6 ; \ }" +# JDK COPY --from=tools ["C:/Program Files/Java/OpenJDK", "C:/Program Files/Java/OpenJDK"] +# Git COPY --from=tools ["C:/Program Files/Git", "C:/Program Files/Git"] +# .NET COPY --from=tools ["C:/Program Files/dotnet", "C:/Program Files/dotnet"] COPY --from=tools /BuildAgent /BuildAgent diff --git a/context/generated/windows/Agent/nanoserver/2004/Dockerfile b/context/generated/windows/Agent/nanoserver/2004/Dockerfile index ddf74481f..32163739a 100644 --- a/context/generated/windows/Agent/nanoserver/2004/Dockerfile +++ b/context/generated/windows/Agent/nanoserver/2004/Dockerfile @@ -10,6 +10,7 @@ ARG teamcityWindowsservercoreImage='teamcity-agent:EAP-windowsservercore-2004' + FROM ${powershellImage} AS dotnet COPY scripts/*.cs /scripts/ @@ -28,6 +29,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" +# PowerShell COPY --from=dotnet ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used @@ -46,8 +48,11 @@ RUN pwsh -NoLogo -NoProfile -Command " \ Start-Sleep -Seconds 6 ; \ }" +# JDK COPY --from=tools ["C:/Program Files/Java/OpenJDK", "C:/Program Files/Java/OpenJDK"] +# Git COPY --from=tools ["C:/Program Files/Git", "C:/Program Files/Git"] +# .NET COPY --from=tools ["C:/Program Files/dotnet", "C:/Program Files/dotnet"] COPY --from=tools /BuildAgent /BuildAgent diff --git a/context/generated/windows/Agent/windowsservercore/1803/Dockerfile b/context/generated/windows/Agent/windowsservercore/1803/Dockerfile index df8293bb9..2cc1d9bfd 100644 --- a/context/generated/windows/Agent/windowsservercore/1803/Dockerfile +++ b/context/generated/windows/Agent/windowsservercore/1803/Dockerfile @@ -30,6 +30,7 @@ ARG windowsservercoreImage='mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsse + FROM ${teamcityMinimalAgentImage} AS buildagent ARG windowsservercoreImage @@ -37,6 +38,7 @@ FROM ${windowsservercoreImage} COPY scripts/*.cs /scripts/ +# PowerShell SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] ARG dotnetWindowsComponent @@ -56,17 +58,22 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ Add-Type -IgnoreWarnings -TypeDefinition "$code" -Language CSharp ; \ $downloadScript = [Scripts.Web]::DownloadFiles($Env:jdkWindowsComponent + '#MD5#' + $Env:jdkWindowsComponentMD5SUM, 'jdk.zip', $Env:gitWindowsComponent + '#SHA256#' + $Env:gitWindowsComponentSHA256, 'git.zip', $Env:mercurialWindowsComponent, 'hg.msi', $Env:dotnetWindowsComponent + '#SHA512#' + $Env:dotnetWindowsComponentSHA512, 'dotnet.zip', $Env:dotnetWindowsComponent_31 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_31, 'dotnet_31.zip', $Env:dotnetWindowsComponent_50 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_50, 'dotnet_50.zip') ; \ Remove-Item -Force -Recurse $Env:ProgramFiles\dotnet; \ +# .NET 3.1 Expand-Archive dotnet_31.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_31.zip; \ +# .NET 5.0 Expand-Archive dotnet_50.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_50.zip; \ +# .NET 6.0 Expand-Archive dotnet.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet.zip; \ Get-ChildItem -Path $Env:ProgramFiles\dotnet -Include *.lzma -File -Recurse | foreach { $_.Delete()}; \ +# JDK Expand-Archive jdk.zip -DestinationPath $Env:ProgramFiles\Java ; \ Get-ChildItem $Env:ProgramFiles\Java | Rename-Item -NewName "OpenJDK" ; \ Remove-Item $Env:ProgramFiles\Java\OpenJDK\lib\src.zip -Force ; \ Remove-Item -Force jdk.zip ; \ +# Git $gitPath = $Env:ProgramFiles + '\Git'; \ Expand-Archive git.zip -DestinationPath $gitPath ; \ Remove-Item -Force git.zip ; \ @@ -75,6 +82,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ $configContent = Get-Content $gitConfigFile; \ $configContent = $configContent.Replace('path = C:/Program Files/Git/etc/gitconfig', ''); \ Set-Content $gitConfigFile $configContent; \ +# Mercirual Start-Process msiexec -Wait -ArgumentList /q, /i, hg.msi ; \ Remove-Item -Force hg.msi diff --git a/context/generated/windows/Agent/windowsservercore/1809/Dockerfile b/context/generated/windows/Agent/windowsservercore/1809/Dockerfile index b8a6e3ec9..b71c1c2f6 100644 --- a/context/generated/windows/Agent/windowsservercore/1809/Dockerfile +++ b/context/generated/windows/Agent/windowsservercore/1809/Dockerfile @@ -30,6 +30,7 @@ ARG windowsservercoreImage='mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsse + FROM ${teamcityMinimalAgentImage} AS buildagent ARG windowsservercoreImage @@ -37,6 +38,7 @@ FROM ${windowsservercoreImage} COPY scripts/*.cs /scripts/ +# PowerShell SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] ARG dotnetWindowsComponent @@ -56,17 +58,22 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ Add-Type -IgnoreWarnings -TypeDefinition "$code" -Language CSharp ; \ $downloadScript = [Scripts.Web]::DownloadFiles($Env:jdkWindowsComponent + '#MD5#' + $Env:jdkWindowsComponentMD5SUM, 'jdk.zip', $Env:gitWindowsComponent + '#SHA256#' + $Env:gitWindowsComponentSHA256, 'git.zip', $Env:mercurialWindowsComponent, 'hg.msi', $Env:dotnetWindowsComponent + '#SHA512#' + $Env:dotnetWindowsComponentSHA512, 'dotnet.zip', $Env:dotnetWindowsComponent_31 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_31, 'dotnet_31.zip', $Env:dotnetWindowsComponent_50 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_50, 'dotnet_50.zip') ; \ Remove-Item -Force -Recurse $Env:ProgramFiles\dotnet; \ +# .NET 3.1 Expand-Archive dotnet_31.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_31.zip; \ +# .NET 5.0 Expand-Archive dotnet_50.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_50.zip; \ +# .NET 6.0 Expand-Archive dotnet.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet.zip; \ Get-ChildItem -Path $Env:ProgramFiles\dotnet -Include *.lzma -File -Recurse | foreach { $_.Delete()}; \ +# JDK Expand-Archive jdk.zip -DestinationPath $Env:ProgramFiles\Java ; \ Get-ChildItem $Env:ProgramFiles\Java | Rename-Item -NewName "OpenJDK" ; \ Remove-Item $Env:ProgramFiles\Java\OpenJDK\lib\src.zip -Force ; \ Remove-Item -Force jdk.zip ; \ +# Git $gitPath = $Env:ProgramFiles + '\Git'; \ Expand-Archive git.zip -DestinationPath $gitPath ; \ Remove-Item -Force git.zip ; \ @@ -75,6 +82,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ $configContent = Get-Content $gitConfigFile; \ $configContent = $configContent.Replace('path = C:/Program Files/Git/etc/gitconfig', ''); \ Set-Content $gitConfigFile $configContent; \ +# Mercirual Start-Process msiexec -Wait -ArgumentList /q, /i, hg.msi ; \ Remove-Item -Force hg.msi diff --git a/context/generated/windows/Agent/windowsservercore/1903/Dockerfile b/context/generated/windows/Agent/windowsservercore/1903/Dockerfile index fe5ba1407..acfaec55c 100644 --- a/context/generated/windows/Agent/windowsservercore/1903/Dockerfile +++ b/context/generated/windows/Agent/windowsservercore/1903/Dockerfile @@ -30,6 +30,7 @@ ARG windowsservercoreImage='mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsse + FROM ${teamcityMinimalAgentImage} AS buildagent ARG windowsservercoreImage @@ -37,6 +38,7 @@ FROM ${windowsservercoreImage} COPY scripts/*.cs /scripts/ +# PowerShell SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] ARG dotnetWindowsComponent @@ -56,17 +58,22 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ Add-Type -IgnoreWarnings -TypeDefinition "$code" -Language CSharp ; \ $downloadScript = [Scripts.Web]::DownloadFiles($Env:jdkWindowsComponent + '#MD5#' + $Env:jdkWindowsComponentMD5SUM, 'jdk.zip', $Env:gitWindowsComponent + '#SHA256#' + $Env:gitWindowsComponentSHA256, 'git.zip', $Env:mercurialWindowsComponent, 'hg.msi', $Env:dotnetWindowsComponent + '#SHA512#' + $Env:dotnetWindowsComponentSHA512, 'dotnet.zip', $Env:dotnetWindowsComponent_31 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_31, 'dotnet_31.zip', $Env:dotnetWindowsComponent_50 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_50, 'dotnet_50.zip') ; \ Remove-Item -Force -Recurse $Env:ProgramFiles\dotnet; \ +# .NET 3.1 Expand-Archive dotnet_31.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_31.zip; \ +# .NET 5.0 Expand-Archive dotnet_50.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_50.zip; \ +# .NET 6.0 Expand-Archive dotnet.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet.zip; \ Get-ChildItem -Path $Env:ProgramFiles\dotnet -Include *.lzma -File -Recurse | foreach { $_.Delete()}; \ +# JDK Expand-Archive jdk.zip -DestinationPath $Env:ProgramFiles\Java ; \ Get-ChildItem $Env:ProgramFiles\Java | Rename-Item -NewName "OpenJDK" ; \ Remove-Item $Env:ProgramFiles\Java\OpenJDK\lib\src.zip -Force ; \ Remove-Item -Force jdk.zip ; \ +# Git $gitPath = $Env:ProgramFiles + '\Git'; \ Expand-Archive git.zip -DestinationPath $gitPath ; \ Remove-Item -Force git.zip ; \ @@ -75,6 +82,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ $configContent = Get-Content $gitConfigFile; \ $configContent = $configContent.Replace('path = C:/Program Files/Git/etc/gitconfig', ''); \ Set-Content $gitConfigFile $configContent; \ +# Mercirual Start-Process msiexec -Wait -ArgumentList /q, /i, hg.msi ; \ Remove-Item -Force hg.msi diff --git a/context/generated/windows/Agent/windowsservercore/1909/Dockerfile b/context/generated/windows/Agent/windowsservercore/1909/Dockerfile index 818e3b09e..7b767b508 100644 --- a/context/generated/windows/Agent/windowsservercore/1909/Dockerfile +++ b/context/generated/windows/Agent/windowsservercore/1909/Dockerfile @@ -30,6 +30,7 @@ ARG windowsservercoreImage='mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsse + FROM ${teamcityMinimalAgentImage} AS buildagent ARG windowsservercoreImage @@ -37,6 +38,7 @@ FROM ${windowsservercoreImage} COPY scripts/*.cs /scripts/ +# PowerShell SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] ARG dotnetWindowsComponent @@ -56,17 +58,22 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ Add-Type -IgnoreWarnings -TypeDefinition "$code" -Language CSharp ; \ $downloadScript = [Scripts.Web]::DownloadFiles($Env:jdkWindowsComponent + '#MD5#' + $Env:jdkWindowsComponentMD5SUM, 'jdk.zip', $Env:gitWindowsComponent + '#SHA256#' + $Env:gitWindowsComponentSHA256, 'git.zip', $Env:mercurialWindowsComponent, 'hg.msi', $Env:dotnetWindowsComponent + '#SHA512#' + $Env:dotnetWindowsComponentSHA512, 'dotnet.zip', $Env:dotnetWindowsComponent_31 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_31, 'dotnet_31.zip', $Env:dotnetWindowsComponent_50 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_50, 'dotnet_50.zip') ; \ Remove-Item -Force -Recurse $Env:ProgramFiles\dotnet; \ +# .NET 3.1 Expand-Archive dotnet_31.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_31.zip; \ +# .NET 5.0 Expand-Archive dotnet_50.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_50.zip; \ +# .NET 6.0 Expand-Archive dotnet.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet.zip; \ Get-ChildItem -Path $Env:ProgramFiles\dotnet -Include *.lzma -File -Recurse | foreach { $_.Delete()}; \ +# JDK Expand-Archive jdk.zip -DestinationPath $Env:ProgramFiles\Java ; \ Get-ChildItem $Env:ProgramFiles\Java | Rename-Item -NewName "OpenJDK" ; \ Remove-Item $Env:ProgramFiles\Java\OpenJDK\lib\src.zip -Force ; \ Remove-Item -Force jdk.zip ; \ +# Git $gitPath = $Env:ProgramFiles + '\Git'; \ Expand-Archive git.zip -DestinationPath $gitPath ; \ Remove-Item -Force git.zip ; \ @@ -75,6 +82,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ $configContent = Get-Content $gitConfigFile; \ $configContent = $configContent.Replace('path = C:/Program Files/Git/etc/gitconfig', ''); \ Set-Content $gitConfigFile $configContent; \ +# Mercirual Start-Process msiexec -Wait -ArgumentList /q, /i, hg.msi ; \ Remove-Item -Force hg.msi diff --git a/context/generated/windows/Agent/windowsservercore/2004/Dockerfile b/context/generated/windows/Agent/windowsservercore/2004/Dockerfile index 20383ec1a..b661dc0d6 100644 --- a/context/generated/windows/Agent/windowsservercore/2004/Dockerfile +++ b/context/generated/windows/Agent/windowsservercore/2004/Dockerfile @@ -30,6 +30,7 @@ ARG windowsservercoreImage='mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsse + FROM ${teamcityMinimalAgentImage} AS buildagent ARG windowsservercoreImage @@ -37,6 +38,7 @@ FROM ${windowsservercoreImage} COPY scripts/*.cs /scripts/ +# PowerShell SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] ARG dotnetWindowsComponent @@ -56,17 +58,22 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ Add-Type -IgnoreWarnings -TypeDefinition "$code" -Language CSharp ; \ $downloadScript = [Scripts.Web]::DownloadFiles($Env:jdkWindowsComponent + '#MD5#' + $Env:jdkWindowsComponentMD5SUM, 'jdk.zip', $Env:gitWindowsComponent + '#SHA256#' + $Env:gitWindowsComponentSHA256, 'git.zip', $Env:mercurialWindowsComponent, 'hg.msi', $Env:dotnetWindowsComponent + '#SHA512#' + $Env:dotnetWindowsComponentSHA512, 'dotnet.zip', $Env:dotnetWindowsComponent_31 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_31, 'dotnet_31.zip', $Env:dotnetWindowsComponent_50 + '#SHA512#' + $Env:dotnetWindowsComponentSHA512_50, 'dotnet_50.zip') ; \ Remove-Item -Force -Recurse $Env:ProgramFiles\dotnet; \ +# .NET 3.1 Expand-Archive dotnet_31.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_31.zip; \ +# .NET 5.0 Expand-Archive dotnet_50.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet_50.zip; \ +# .NET 6.0 Expand-Archive dotnet.zip -Force -DestinationPath $Env:ProgramFiles\dotnet; \ Remove-Item -Force dotnet.zip; \ Get-ChildItem -Path $Env:ProgramFiles\dotnet -Include *.lzma -File -Recurse | foreach { $_.Delete()}; \ +# JDK Expand-Archive jdk.zip -DestinationPath $Env:ProgramFiles\Java ; \ Get-ChildItem $Env:ProgramFiles\Java | Rename-Item -NewName "OpenJDK" ; \ Remove-Item $Env:ProgramFiles\Java\OpenJDK\lib\src.zip -Force ; \ Remove-Item -Force jdk.zip ; \ +# Git $gitPath = $Env:ProgramFiles + '\Git'; \ Expand-Archive git.zip -DestinationPath $gitPath ; \ Remove-Item -Force git.zip ; \ @@ -75,6 +82,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ $configContent = Get-Content $gitConfigFile; \ $configContent = $configContent.Replace('path = C:/Program Files/Git/etc/gitconfig', ''); \ Set-Content $gitConfigFile $configContent; \ +# Mercirual Start-Process msiexec -Wait -ArgumentList /q, /i, hg.msi ; \ Remove-Item -Force hg.msi diff --git a/context/generated/windows/MinimalAgent/nanoserver/1803/Dockerfile b/context/generated/windows/MinimalAgent/nanoserver/1803/Dockerfile index 1262ddbe7..f6b02b94c 100644 --- a/context/generated/windows/MinimalAgent/nanoserver/1803/Dockerfile +++ b/context/generated/windows/MinimalAgent/nanoserver/1803/Dockerfile @@ -10,6 +10,8 @@ ARG powershellImage='mcr.microsoft.com/powershell:nanoserver-1803' + +# PoweShell FROM ${powershellImage} AS base SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] @@ -18,6 +20,7 @@ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference COPY TeamCity/buildAgent C:/BuildAgent COPY run-agent.ps1 /BuildAgent/run-agent.ps1 +# JDK ARG jdkWindowsComponent RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ diff --git a/context/generated/windows/MinimalAgent/nanoserver/1809/Dockerfile b/context/generated/windows/MinimalAgent/nanoserver/1809/Dockerfile index d743576d5..00d8f5caf 100644 --- a/context/generated/windows/MinimalAgent/nanoserver/1809/Dockerfile +++ b/context/generated/windows/MinimalAgent/nanoserver/1809/Dockerfile @@ -12,6 +12,7 @@ ARG powershellImage='mcr.microsoft.com/powershell:nanoserver-1809' + FROM ${powershellImage} AS base COPY scripts/*.cs /scripts/ @@ -21,6 +22,7 @@ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference COPY TeamCity/buildAgent C:/BuildAgent COPY run-agent.ps1 /BuildAgent/run-agent.ps1 +# JDK ARG jdkWindowsComponent ARG jdkWindowsComponentMD5SUM @@ -45,6 +47,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" +# PowerShell COPY --from=base ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used diff --git a/context/generated/windows/MinimalAgent/nanoserver/1903/Dockerfile b/context/generated/windows/MinimalAgent/nanoserver/1903/Dockerfile index 3b6ee6464..75a1c2848 100644 --- a/context/generated/windows/MinimalAgent/nanoserver/1903/Dockerfile +++ b/context/generated/windows/MinimalAgent/nanoserver/1903/Dockerfile @@ -12,6 +12,7 @@ ARG powershellImage='mcr.microsoft.com/powershell:nanoserver-1903' + FROM ${powershellImage} AS base COPY scripts/*.cs /scripts/ @@ -21,6 +22,7 @@ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference COPY TeamCity/buildAgent C:/BuildAgent COPY run-agent.ps1 /BuildAgent/run-agent.ps1 +# JDK ARG jdkWindowsComponent ARG jdkWindowsComponentMD5SUM @@ -45,6 +47,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" +# PowerShell COPY --from=base ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used diff --git a/context/generated/windows/MinimalAgent/nanoserver/1909/Dockerfile b/context/generated/windows/MinimalAgent/nanoserver/1909/Dockerfile index 3316dafd6..ac3caa45e 100644 --- a/context/generated/windows/MinimalAgent/nanoserver/1909/Dockerfile +++ b/context/generated/windows/MinimalAgent/nanoserver/1909/Dockerfile @@ -12,6 +12,7 @@ ARG powershellImage='mcr.microsoft.com/powershell:nanoserver-1909' + FROM ${powershellImage} AS base COPY scripts/*.cs /scripts/ @@ -21,6 +22,7 @@ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference COPY TeamCity/buildAgent C:/BuildAgent COPY run-agent.ps1 /BuildAgent/run-agent.ps1 +# JDK ARG jdkWindowsComponent ARG jdkWindowsComponentMD5SUM @@ -45,6 +47,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" +# PowerShell COPY --from=base ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used diff --git a/context/generated/windows/MinimalAgent/nanoserver/2004/Dockerfile b/context/generated/windows/MinimalAgent/nanoserver/2004/Dockerfile index 9b0aa4ddf..b6489ce5a 100644 --- a/context/generated/windows/MinimalAgent/nanoserver/2004/Dockerfile +++ b/context/generated/windows/MinimalAgent/nanoserver/2004/Dockerfile @@ -12,6 +12,7 @@ ARG powershellImage='mcr.microsoft.com/powershell:nanoserver-2004' + FROM ${powershellImage} AS base COPY scripts/*.cs /scripts/ @@ -21,6 +22,7 @@ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference COPY TeamCity/buildAgent C:/BuildAgent COPY run-agent.ps1 /BuildAgent/run-agent.ps1 +# JDK ARG jdkWindowsComponent ARG jdkWindowsComponentMD5SUM @@ -45,6 +47,7 @@ ENV ProgramFiles="C:\Program Files" \ # Persist %PSCORE% ENV variable for user convenience PSCORE="$ProgramFiles\PowerShell\pwsh.exe" +# PowerShell COPY --from=base ["C:/Program Files/PowerShell", "C:/Program Files/PowerShell"] # In order to set system PATH, ContainerAdministrator must be used diff --git a/context/generated/windows/Server/nanoserver/1803/Dockerfile b/context/generated/windows/Server/nanoserver/1803/Dockerfile index 0168f7a9f..1ce9c52c8 100644 --- a/context/generated/windows/Server/nanoserver/1803/Dockerfile +++ b/context/generated/windows/Server/nanoserver/1803/Dockerfile @@ -14,10 +14,13 @@ ARG windowsBuild='1803' + +# PowerShell FROM ${powershellImage} AS base SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] +# JDK ARG jdkServerWindowsComponent RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ @@ -27,6 +30,7 @@ RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ Remove-Item -Force jdk.zip ; \ Remove-Item $Env:ProgramFiles\Java\OpenJDK\lib\src.zip -Force +# Git ARG gitWindowsComponent RUN [Net.ServicePointManager]::SecurityProtocol = 'tls12, tls11, tls' ; \ diff --git a/context/generated/windows/Server/nanoserver/1809/Dockerfile b/context/generated/windows/Server/nanoserver/1809/Dockerfile index 5f5ef50a0..86df1162c 100644 --- a/context/generated/windows/Server/nanoserver/1809/Dockerfile +++ b/context/generated/windows/Server/nanoserver/1809/Dockerfile @@ -18,14 +18,18 @@ ARG windowsBuild='1809' + +# PowerShell FROM ${powershellImage} AS base COPY scripts/*.cs /scripts/ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] +# JDK ARG jdkServerWindowsComponent ARG jdkServerWindowsComponentMD5SUM +# Git ARG gitWindowsComponent ARG gitWindowsComponentSHA256 diff --git a/context/generated/windows/Server/nanoserver/1903/Dockerfile b/context/generated/windows/Server/nanoserver/1903/Dockerfile index 835cff8d6..a50168aa8 100644 --- a/context/generated/windows/Server/nanoserver/1903/Dockerfile +++ b/context/generated/windows/Server/nanoserver/1903/Dockerfile @@ -18,14 +18,18 @@ ARG windowsBuild='1903' + +# PowerShell FROM ${powershellImage} AS base COPY scripts/*.cs /scripts/ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] +# JDK ARG jdkServerWindowsComponent ARG jdkServerWindowsComponentMD5SUM +# Git ARG gitWindowsComponent ARG gitWindowsComponentSHA256 diff --git a/context/generated/windows/Server/nanoserver/1909/Dockerfile b/context/generated/windows/Server/nanoserver/1909/Dockerfile index ea270ff4c..cbe50e4b9 100644 --- a/context/generated/windows/Server/nanoserver/1909/Dockerfile +++ b/context/generated/windows/Server/nanoserver/1909/Dockerfile @@ -18,14 +18,18 @@ ARG windowsBuild='1909' + +# PowerShell FROM ${powershellImage} AS base COPY scripts/*.cs /scripts/ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] +# JDK ARG jdkServerWindowsComponent ARG jdkServerWindowsComponentMD5SUM +# Git ARG gitWindowsComponent ARG gitWindowsComponentSHA256 diff --git a/context/generated/windows/Server/nanoserver/2004/Dockerfile b/context/generated/windows/Server/nanoserver/2004/Dockerfile index 48fb5fc67..0249c76d0 100644 --- a/context/generated/windows/Server/nanoserver/2004/Dockerfile +++ b/context/generated/windows/Server/nanoserver/2004/Dockerfile @@ -18,14 +18,18 @@ ARG windowsBuild='2004' + +# PowerShell FROM ${powershellImage} AS base COPY scripts/*.cs /scripts/ SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] +# JDK ARG jdkServerWindowsComponent ARG jdkServerWindowsComponentMD5SUM +# Git ARG gitWindowsComponent ARG gitWindowsComponentSHA256 diff --git a/tool/README.md b/tool/README.md index a94a74df9..b91778769 100644 --- a/tool/README.md +++ b/tool/README.md @@ -42,6 +42,13 @@ generate -s configs -f "configs/common.config;configs/local.config;configs/windo | `verbose` | `-v` | false | Specified necessity for verbose (detailed) output. | | `regex` | `-r` | false | Regular expression for filtering an internal build graph. Used for development purposes mostly. | +## 1.2 Generation of documentation (README files) +Markdown files are automatically generated using [ReadmeFilesGenerator.cs](TeamCity.Docker/ReadmeFilesGenerator.cs). It uses +information from Dockerfiles to construct a resulting document. + +Please, note that the tools are included via `@AddToolToDoc` annotation. Dockerfiles contain tools installed in context of +current image (e.g. `teamcity-agent`), as well as files installed from base image (e.g. `teamcity-minimal-agent`). + # 2. Automation utilities [Automation utilities](automation/framework) contains utilities that simplify release process. Please, follow the link for the detailed documentation. diff --git a/tool/TeamCity.Docker/DockerGraphFactory.cs b/tool/TeamCity.Docker/DockerGraphFactory.cs index ffb94e324..231049d4b 100644 --- a/tool/TeamCity.Docker/DockerGraphFactory.cs +++ b/tool/TeamCity.Docker/DockerGraphFactory.cs @@ -20,10 +20,13 @@ internal class DockerGraphFactory: IFactory, IEnum private const string TagPrefix = "# Tag "; private const string PlatformPrefix = "# Platform "; private const string BasedOnPrefix = "# Based on "; - private const string ComponentsPrefix = "# Install "; private const string RepoPrefix = "# Repo "; private const string WeightPrefix = "# Weight "; private const string RequiresPrefix = "# Requires "; + + // Indicates if tool must be reflected within installation, e.g. ... + // ... "@@AddToolToDoc [${dotnetLinuxARM64ComponentName_50}](${dotnetLinuxARM64Component_50})" + private const string ComponentsPrefix = "# @AddToolToDoc "; private readonly IContentParser _contentParser; private readonly IPathService _pathService;