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;