Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 6 additions & 6 deletions eng/dockerfile-templates/Dockerfile.linux.download-file
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
sha-var-name: Name of variable that stores the checksum
sha-function: SHA function to use ^

set isInternal to find(ARGS["url"], "artifacts.visualstudio.com") >= 0 ^
set alpineSetTokenCmd to 'token=$(echo "${ACCESSTOKEN}:${ACCESSTOKEN}" | base64 -w 0)' ^
set additionalWgetArgs to when(isInternal, '--header="Authorization: Basic $token" ', '') ^
set additionalCurlArgs to when(isInternal, '-u :$ACCESSTOKEN --basic ', '') ^
_ Documentation for using Managed Identity/OAuth tokens to access Azure storage accounts:
https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-azure-active-directory#call-storage-operations-with-oauth-tokens ^

set isInternal to find(ARGS["url"], "dotnetstage") >= 0 ^
set headerArgs to when(isInternal, '--header "Authorization: Bearer $ACCESSTOKEN" --header "x-ms-version: 2017-11-09" ', '') ^
set isAlpine to find(OS_VERSION, "alpine") >= 0 ^
set shaFunction to ARGS["sha-function"] ^
set shaFunction to when(shaFunction, shaFunction, "512")
}}{{if isAlpine:{{if isInternal:{{alpineSetTokenCmd}} \
&& }}wget {{additionalWgetArgs}}-O^else:curl {{additionalCurlArgs}}-fSL --output}} {{ARGS["out-file"]}} {{if isInternal:"{{ARGS["url"]}}"^else:{{ARGS["url"]}}}}{{if ARGS["sha"]: \
}}{{if isAlpine:wget {{headerArgs}}-O^else:curl {{headerArgs}}-fSL --output}} {{ARGS["out-file"]}} {{if isInternal:"{{ARGS["url"]}}"^else:{{ARGS["url"]}}}}{{if ARGS["sha"]: \
&& {{ARGS["sha-var-name"]}}='{{ARGS["sha"]}}' \
&& echo "${{ARGS["sha-var-name"]}} {{ARGS["out-file"]}}" | sha{{shaFunction}}sum -c -}}
11 changes: 8 additions & 3 deletions eng/dockerfile-templates/Dockerfile.windows.download-file
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,16 @@
sha-var-name: Name of variable that stores the checksum
hash-algorithm: Algorithm type to use to get the checksum. Defaults to sha512 ^

set isInternal to find(ARGS["url"], "artifacts.visualstudio.com") >= 0 ^
_ Documentation for using Managed Identity/OAuth tokens to access Azure storage accounts:
https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-azure-active-directory#call-storage-operations-with-oauth-tokens ^

set isInternal to find(ARGS["url"], "dotnetstage") >= 0 ^
set hashAlgorithm to when(ARGS["hash-algorithm"], ARGS["hash-algorithm"], "sha512")
}}{{if isInternal:`
$Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\":$($Env:ACCESSTOKEN)\")); `
$Headers = @@{Authorization = \"Basic $Base64AuthInfo\"}; `
$Headers = @@{ `
Authorization = \"Bearer $env:ACCESSTOKEN\"; `
'x-ms-version' = '2017-11-09'; `
}; `
Invoke-WebRequest -OutFile {{ARGS["out-file"]}} \"{{ARGS["url"]}}\" -Headers $Headers; `
`^else:Invoke-WebRequest -OutFile {{ARGS["out-file"]}} {{ARGS["url"]}}; `}}
${{ARGS["sha-var-name"]}} = '{{ARGS["sha"]}}'; `
Expand Down
2 changes: 1 addition & 1 deletion eng/dockerfile-templates/aspnet/Dockerfile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
set isFullAzureLinux to isAzureLinux && !isDistroless ^
set isDistrolessAzureLinux to isAzureLinux && isDistroless ^
set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set isInternal to find(baseUrl, "artifacts.visualstudio.com") >= 0 ^
set isInternal to find(baseUrl, "dotnetstage") >= 0 ^
set runtimeDepsVariant to when(ARGS["is-extra"], "-extra", "") ^
set tagVersion to when(dotnetVersion = "8.0",
VARIABLES[cat("dotnet|", dotnetVersion, "|product-version")],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
set isFullAzureLinux to isAzureLinux && !isDistroless ^
set isDistrolessAzureLinux to isAzureLinux && isDistroless ^
set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set isInternal to find(baseUrl, "artifacts.visualstudio.com") >= 0 ^
set isInternal to find(baseUrl, "dotnetstage") >= 0 ^
set isSingleStage to isAlpine && !isInternal ^
set runtimeDepsVariant to when(ARGS["is-extra"], "-extra", "") ^
set tagVersion to when(dotnetVersion = "8.0",
Expand Down
50 changes: 33 additions & 17 deletions eng/dockerfile-templates/aspnet/Dockerfile.linux.install-aspnet
Original file line number Diff line number Diff line change
Expand Up @@ -7,34 +7,50 @@
- installer-stage (optional): Name of the Dockerfile stage responsible for installation ^

set dotnetVersion to join(slice(split(PRODUCT_VERSION, "."), 0, 2), ".") ^
set productVersion to VARIABLES[cat("dotnet|", dotnetVersion, "|product-version")] ^
set buildVersion to VARIABLES[cat("aspnet|", dotnetVersion, "|build-version")] ^

set isFullAzureLinux to defined(match(OS_VERSION, "^cbl-mariner\d+\.\d+$")) ^
set isDistroless to find(OS_VERSION, "distroless") >= 0 || find(OS_VERSION, "chiseled") >= 0 ^
set isAlpine to find(OS_VERSION, "alpine") >= 0 ^
set platform to when(isAlpine, "linux-musl", "linux") ^
set destDir to "/dotnet" ^
set aspnetVersionDir to when(ARGS["use-local-version-var"],
"$aspnetcore_version",
when(ARGS["is-internal"],
VARIABLES[cat("aspnet|", dotnetVersion, "|build-version")],
"$ASPNET_VERSION")) ^
set isStableBranding to (find(VARIABLES[cat("sdk|", dotnetVersion, "|build-version")], "-servicing") >= 0 ||
find(VARIABLES[cat("sdk|", dotnetVersion, "|build-version")], "-rtm") >= 0) ^
set aspnetVersionFile to when(isStableBranding,
VARIABLES[cat("dotnet|", dotnetVersion, "|product-version")],
aspnetVersionDir) ^
set url to cat(
VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])],
"/aspnetcore/Runtime/", aspnetVersionDir, "/aspnetcore-runtime-", aspnetVersionFile,
"-", platform, "-", ARCH_SHORT, ".tar.gz") ^

set sdkBuildVersion to VARIABLES[cat("sdk|", dotnetVersion, "|build-version")] ^
set isStableBranding to find(sdkBuildVersion, "-servicing") >= 0 || find(sdkBuildVersion, "-rtm") >= 0 ^

_ Set versions explicitly, and dynamically replace them based on whether they match the env/local variables. ^
_ For preview (non-stable) versions, the full build version is always in the file name. ^
set fileVersion to when(isStableBranding, productVersion, buildVersion) ^
set versionDir to buildVersion ^

set versionVariable to
when(ARGS["use-local-version-var"],
"aspnetcore_version",
"ASPNET_VERSION") ^

set versionVariableValue to buildVersion ^
if (versionDir = versionVariableValue):{{
set versionDir to cat("$", versionVariable)
}}^
if (fileVersion = versionVariableValue):{{
set fileVersion to cat("$", versionVariable)
}}^

set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set downloadUrl to cat(baseUrl, "/aspnetcore/Runtime/", versionDir, "/aspnetcore-runtime-", fileVersion, "-", platform, "-", ARCH_SHORT, ".tar.gz") ^
set sha to VARIABLES[join(["aspnet", dotnetVersion, platform, ARCH_SHORT, "sha"], "|")] ^

set files to [
[
"filename": "aspnetcore.tar.gz",
"url": url,
"sha": VARIABLES[join(["aspnet", dotnetVersion, platform, ARCH_SHORT, "sha"], "|")],
"url": downloadUrl,
"sha": sha,
"sha-var-name": "aspnetcore_sha512",
"extract-paths": ["./shared/Microsoft.AspNetCore.App"]
]
] ^

set copyEnabled to ARGS["install-method"] = "copy-and-install" ^
set downloadEnabled to ARGS["install-method"] = "download" || ARGS["install-method"] = "download-and-install" ^
set installEnabled to ARGS["install-method"] = "download-and-install" || ARGS["install-method"] = "copy-and-install"
Expand All @@ -46,7 +62,7 @@ if copyEnabled:{{InsertTemplate("../Dockerfile.linux.copy-files",
"destination": ""
])
}}
}}RUN {{if ARGS["use-local-version-var"]:aspnetcore_version={{VARIABLES[cat("aspnet|", dotnetVersion, "|build-version")]}} \
}}RUN {{if ARGS["use-local-version-var"]:{{versionVariable}}={{versionVariableValue}} \
&& }}{{InsertTemplate("../Dockerfile.linux.download-and-install",
[
"files": files,
Expand Down
2 changes: 1 addition & 1 deletion eng/dockerfile-templates/aspnet/Dockerfile.windows
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set isServerCore to find(OS_VERSION, "windowsservercore") >= 0 ^

set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set isInternal to find(baseUrl, "artifacts.visualstudio.com") >= 0 ^
set isInternal to find(baseUrl, "dotnetstage") >= 0 ^

set installerStageFromImage to cat("mcr.microsoft.com/windows/servercore:", OS_VERSION_NUMBER, "-amd64") ^

Expand Down
2 changes: 1 addition & 1 deletion eng/dockerfile-templates/runtime-deps/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
set isAzureLinux to isCblMariner || defined(match(OS_VERSION, "^azurelinux\d+\.\d+$")) ^

set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set isInternal to find(baseUrl, "artifacts.visualstudio.com") >= 0 ^
set isInternal to find(baseUrl, "dotnetstage") >= 0 ^

set baseImageRepo to when(isAlpine,
cat(ARCH_VERSIONED, "/alpine"),
Expand Down
2 changes: 1 addition & 1 deletion eng/dockerfile-templates/runtime/Dockerfile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
set isFullAzureLinux to isAzureLinux && !isDistroless ^
set isDistrolessAzureLinux to isAzureLinux && isDistroless ^
set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set isInternal to find(baseUrl, "artifacts.visualstudio.com") >= 0 ^
set isInternal to find(baseUrl, "dotnetstage") >= 0 ^
set runtimeDepsVariant to when(ARGS["is-extra"], "-extra", "") ^
set tagVersion to VARIABLES[cat("dotnet|", dotnetVersion, "|fixed-tag")] ^
set runtimeDepsBaseTag to cat(
Expand Down
85 changes: 48 additions & 37 deletions eng/dockerfile-templates/runtime/Dockerfile.linux.install-runtime
Original file line number Diff line number Diff line change
Expand Up @@ -10,48 +10,60 @@
is-composite-runtime (optional): Whether to install aspnetcore composite version ^

set dotnetVersion to join(slice(split(PRODUCT_VERSION, "."), 0, 2), ".") ^
set isAlpine to find(OS_VERSION, "alpine") >= 0 ^
set varPlatform to when(isAlpine, "linux-musl", "linux") ^
set runtimeVersionDir to when(ARGS["use-local-version-var"],
"$dotnet_version",
when(ARGS["is-internal"],
VARIABLES[cat("runtime|", dotnetVersion, "|build-version")],
"$DOTNET_VERSION")) ^
set aspnetCompositeVersionDir to when(ARGS["use-local-version-var"],
"$aspnetcore_version",
when(ARGS["is-internal"],
set productVersion to VARIABLES[cat("dotnet|", dotnetVersion, "|product-version")] ^
set buildVersion to
when(ARGS["is-composite-runtime"],
VARIABLES[cat("aspnet|", dotnetVersion, "|build-version")],
"$ASPNET_VERSION")) ^
set isStableBranding to (find(VARIABLES[cat("sdk|", dotnetVersion, "|build-version")], "-servicing") >= 0 ||
find(VARIABLES[cat("sdk|", dotnetVersion, "|build-version")], "-rtm") >= 0) ^
set runtimeVersionFile to when(isStableBranding,
VARIABLES[cat("dotnet|", dotnetVersion, "|product-version")],
runtimeVersionDir) ^
set aspnetCompositeVersionFile to when(isStableBranding,
VARIABLES[cat("dotnet|", dotnetVersion, "|product-version")],
aspnetCompositeVersionDir) ^
set filePlatform to when(isAlpine, "-linux-musl", "-linux") ^
VARIABLES[cat("runtime|", dotnetVersion, "|build-version")]) ^

set isAlpine to find(OS_VERSION, "alpine") >= 0 ^
set platform to when(isAlpine, "linux-musl", "linux") ^

set sdkBuildVersion to VARIABLES[cat("sdk|", dotnetVersion, "|build-version")] ^
set isStableBranding to find(sdkBuildVersion, "-servicing") >= 0 || find(sdkBuildVersion, "-rtm") >= 0 ^

_ Set versions explicitly, and dynamically replace them based on whether they match the env/local variables. ^
_ For preview (non-stable) versions, the full build version is always in the file name. ^
set fileVersion to when(isStableBranding, productVersion, buildVersion) ^
set versionDir to buildVersion ^

set versionVariable to
when(ARGS["is-composite-runtime"],
when(ARGS["use-local-version-var"],
"aspnetcore_version",
"ASPNET_VERSION"),
when(ARGS["use-local-version-var"],
"dotnet_version",
"DOTNET_VERSION")) ^

set versionVariableValue to buildVersion ^
if (versionDir = versionVariableValue):{{
set versionDir to cat("$", versionVariable)
}}^
if (fileVersion = versionVariableValue):{{
set fileVersion to cat("$", versionVariable)
}}^

set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set runtimeBaseUrl to cat(baseUrl, "/Runtime/", runtimeVersionDir, "/") ^
set aspnetCompositeUrl to cat(baseUrl, "/aspnetcore/Runtime/", aspnetCompositeVersionDir, "/aspnetcore-runtime-composite-", aspnetCompositeVersionFile,
filePlatform, "-", ARCH_SHORT, ".tar.gz") ^
set files to when(ARGS["is-composite-runtime"],
[
[
"filename": "dotnet.tar.gz",
"url": aspnetCompositeUrl,
"sha": VARIABLES[join(["aspnet-composite", dotnetVersion, varPlatform, ARCH_SHORT, "sha"], "|")],
"sha-var-name": "dotnet_sha512"
]
],
set downloadUrl to
when(ARGS["is-composite-runtime"],
cat(baseUrl, "/aspnetcore/Runtime/", versionDir, "/aspnetcore-runtime-composite-", fileVersion, "-", platform, "-", ARCH_SHORT, ".tar.gz"),
cat(baseUrl, "/Runtime/", versionDir, "/dotnet-runtime-", fileVersion, "-", platform, "-", ARCH_SHORT, ".tar.gz")) ^
set sha to
when(ARGS["is-composite-runtime"],
VARIABLES[join(["aspnet-composite", dotnetVersion, platform, ARCH_SHORT, "sha"], "|")],
VARIABLES[join(["runtime", dotnetVersion, platform, ARCH_SHORT, "sha"], "|")]) ^

set files to
[
[
"filename": "dotnet.tar.gz",
"url": cat(runtimeBaseUrl, "dotnet-runtime-", runtimeVersionFile, "-", varPlatform, "-", ARCH_SHORT, ".tar.gz"),
"sha": VARIABLES[join(["runtime", dotnetVersion, varPlatform, ARCH_SHORT, "sha"], "|")],
"url": downloadUrl,
"sha": sha,
"sha-var-name": "dotnet_sha512"
]
]) ^
] ^

set copyEnabled to ARGS["install-method"] = "copy-and-install" ^
set downloadEnabled to ARGS["install-method"] = "download" || ARGS["install-method"] = "download-and-install" ^
set installEnabled to ARGS["install-method"] = "download-and-install" || ARGS["install-method"] = "copy-and-install"
Expand All @@ -63,8 +75,7 @@ if copyEnabled:{{InsertTemplate("../Dockerfile.linux.copy-files",
"destination": ""
])
}}
}}RUN {{if ARGS["use-local-version-var"]:{{ if ARGS["is-composite-runtime"]:aspnetcore_version={{VARIABLES[cat("aspnet|", dotnetVersion, "|build-version")]}} ^
else:dotnet_version={{VARIABLES[cat("runtime|", dotnetVersion, "|build-version")]}}}} \
}}RUN {{if ARGS["use-local-version-var"]:{{versionVariable}}={{versionVariableValue}} \
&& }}{{InsertTemplate("../Dockerfile.linux.download-and-install",
[
"files": files,
Expand Down
2 changes: 1 addition & 1 deletion eng/dockerfile-templates/runtime/Dockerfile.windows
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
set isServer2025 to find(OS_VERSION_NUMBER, "2025") >= 0 ^

set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set isInternal to find(baseUrl, "artifacts.visualstudio.com") >= 0 ^
set isInternal to find(baseUrl, "dotnetstage") >= 0 ^

set installerStageRepo to cat("mcr.microsoft.com/windows/", "servercore") ^
set runtimeStageRepo to cat("mcr.microsoft.com/windows/", when(isServerCore, "servercore", "nanoserver")) ^
Expand Down
2 changes: 1 addition & 1 deletion eng/dockerfile-templates/sdk/Dockerfile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
set isMariner to find(OS_VERSION, "cbl-mariner") >= 0 ^
set isAzureLinux to isMariner || find(OS_VERSION, "azurelinux") >= 0 ^
set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set isInternal to find(baseUrl, "artifacts.visualstudio.com") >= 0 ^
set isInternal to find(baseUrl, "dotnetstage") >= 0 ^
set tagVersion to VARIABLES[cat("dotnet|", dotnetVersion, "|fixed-tag")] ^
set baseImageTag to cat("$REPO:", tagVersion, "-", OS_VERSION, ARCH_TAG_SUFFIX) ^

Expand Down
49 changes: 17 additions & 32 deletions eng/dockerfile-templates/sdk/Dockerfile.linux.install-sdk
Original file line number Diff line number Diff line change
Expand Up @@ -11,41 +11,30 @@
no-version-env-var (optional): Force reading the from the versions file instead of using DOTNET_SDK_VERSION env var ^

set dotnetVersion to join(slice(split(PRODUCT_VERSION, "."), 0, 2), ".") ^
set buildVersion to VARIABLES[cat("sdk|", dotnetVersion, "|build-version")] ^
set productVersion to VARIABLES[cat("sdk|", dotnetVersion, "|product-version")] ^

set isAlpine to find(OS_VERSION, "alpine") >= 0 ^
set isFullAzureLinux to defined(match(OS_VERSION, "^cbl-mariner\d+\.\d+$")) || defined(match(OS_VERSION, "^azurelinux\d+\.\d+$")) ^
set platform to when(isAlpine, "linux-musl", "linux") ^
set installDir to "/dotnet" ^
set url to cat(
VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])],
"/Sdk/$dotnet_sdk_version/dotnet-sdk-$dotnet_sdk_version-", platform, "-", ARCH_SHORT, ".tar.gz") ^
set sdkVersionDir to when(ARGS["use-local-version-var"],
"$sdk_version",
when(ARGS["is-internal"] || ARGS["no-version-env-var"],
VARIABLES[cat("sdk|", dotnetVersion, "|build-version")]
"$DOTNET_SDK_VERSION")) ^
set isStableBranding to (find(VARIABLES[cat("sdk|", dotnetVersion, "|build-version")], "-servicing") >= 0 ||
find(VARIABLES[cat("sdk|", dotnetVersion, "|build-version")], "-rtm") >= 0) ^
set sdkVersionFile to when(isStableBranding,
VARIABLES[cat("sdk|", dotnetVersion, "|product-version")],
sdkVersionDir) ^
set runtimeVersionDir to when(ARGS["use-local-version-var"], "$dotnet_version", "$DOTNET_VERSION") ^
set runtimeVersionFile to when(isStableBranding,
VARIABLES[cat("dotnet|", dotnetVersion, "|product-version")],
runtimeVersionDir) ^
set runtimeTargetingPackVersionFile to when(isStableBranding,
split(VARIABLES[cat("runtime|", dotnetVersion, "|targeting-pack-version")], "-")[0],
VARIABLES[cat("runtime|", dotnetVersion, "|targeting-pack-version")]) ^
set aspnetTargetingPackVersionFile to when(isStableBranding,
split(VARIABLES[cat("aspnet|", dotnetVersion, "|targeting-pack-version")], "-")[0],
VARIABLES[cat("aspnet|", dotnetVersion, "|targeting-pack-version")]) ^

set isStableBranding to find(buildVersion, "-servicing") >= 0 || find(buildVersion, "-rtm") >= 0 ^

_ For preview (non-stable) versions, the full build version is always in the file name. ^
set fileVersion to when(isStableBranding, productVersion, buildVersion) ^
set versionDir to buildVersion ^

set baseUrl to VARIABLES[cat("dotnet|", dotnetVersion, "|base-url|", VARIABLES["branch"])] ^
set commonShaVarName to "dotnet_sha512" ^
set downloadUrl to cat(baseUrl, "/Sdk/", versionDir, "/dotnet-sdk-", fileVersion, "-", platform, "-", ARCH_SHORT, ".tar.gz") ^
set sha to VARIABLES[join(["sdk", dotnetVersion, platform, ARCH_SHORT, "sha"], "|")] ^

set files to [
[
"filename": "dotnet.tar.gz",
"url": cat(baseUrl, "/Sdk/", sdkVersionDir, "/dotnet-sdk-", sdkVersionFile, "-", platform, "-", ARCH_SHORT, ".tar.gz"),
"sha": VARIABLES[join(["sdk", dotnetVersion, platform, ARCH_SHORT, "sha"], "|")],
"sha-var-name": commonShaVarName,
"url": downloadUrl,
"sha": sha,
"sha-var-name": "dotnet_sha512",
"extract-paths": [
"./packs",
"./sdk",
Expand All @@ -68,11 +57,7 @@ if copyEnabled:{{InsertTemplate("../Dockerfile.linux.copy-files",
])
}}
}}# Install .NET SDK
RUN {{if ARGS["use-local-version-var"]:sdk_version={{VARIABLES[cat("sdk|", dotnetVersion, "|build-version")]}} \
{{
if isFullAzureLinux: dotnet_version={{VARIABLES[cat("runtime|", dotnetVersion, "|build-version")]}} \
aspnet_version={{VARIABLES[cat("aspnet|", dotnetVersion, "|build-version")]}} \
}}}}{{if ARGS["use-local-version-var"]: && }}{{InsertTemplate("../Dockerfile.linux.download-and-install",
RUN {{InsertTemplate("../Dockerfile.linux.download-and-install",
[
"files": files,
"skip-download": !downloadEnabled,
Expand Down
Loading