From 623c085bf224ff5c4476e3dc7dee5ccbc4cdb46a Mon Sep 17 00:00:00 2001 From: Khuram Khan <64149947+khkh-ms@users.noreply.github.com> Date: Wed, 10 May 2023 22:23:33 +0300 Subject: [PATCH] Updating the docker files. (#3359) --- .../Actions/LocalActions/InitAction.cs | 4 ++-- src/Azure.Functions.Cli/Azure.Functions.Cli.csproj | 6 ++++++ .../StaticResources/Dockerfile.dotnet | 3 --- .../StaticResources/Dockerfile.dotnetIsolated | 3 --- .../StaticResources/Dockerfile.node18 | 11 +++++++++++ .../StaticResources/Dockerfile.typescript.node18 | 12 ++++++++++++ .../StaticResources/StaticResources.cs | 4 ++++ 7 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 src/Azure.Functions.Cli/StaticResources/Dockerfile.node18 create mode 100644 src/Azure.Functions.Cli/StaticResources/Dockerfile.typescript.node18 diff --git a/src/Azure.Functions.Cli/Actions/LocalActions/InitAction.cs b/src/Azure.Functions.Cli/Actions/LocalActions/InitAction.cs index c1f9451b8..85ce040a5 100644 --- a/src/Azure.Functions.Cli/Actions/LocalActions/InitAction.cs +++ b/src/Azure.Functions.Cli/Actions/LocalActions/InitAction.cs @@ -398,11 +398,11 @@ private static async Task WriteDockerfile(WorkerRuntime workerRuntime, string la { if (language == Constants.Languages.TypeScript) { - await FileSystemHelpers.WriteFileIfNotExists("Dockerfile", await StaticResources.DockerfileTypescript); + await FileSystemHelpers.WriteFileIfNotExists("Dockerfile", await StaticResources.DockerfileTypescriptNode18); } else { - await FileSystemHelpers.WriteFileIfNotExists("Dockerfile", await StaticResources.DockerfileNode16); + await FileSystemHelpers.WriteFileIfNotExists("Dockerfile", await StaticResources.DockerfileNode18); } } else if (workerRuntime == Helpers.WorkerRuntime.python) diff --git a/src/Azure.Functions.Cli/Azure.Functions.Cli.csproj b/src/Azure.Functions.Cli/Azure.Functions.Cli.csproj index 847c20596..c043a5bc8 100644 --- a/src/Azure.Functions.Cli/Azure.Functions.Cli.csproj +++ b/src/Azure.Functions.Cli/Azure.Functions.Cli.csproj @@ -100,6 +100,12 @@ $(AssemblyName).Dockerfile.typescript + + $(AssemblyName).Dockerfile.node18 + + + $(AssemblyName).Dockerfile.typescript.node18 + $(AssemblyName).gitignore diff --git a/src/Azure.Functions.Cli/StaticResources/Dockerfile.dotnet b/src/Azure.Functions.Cli/StaticResources/Dockerfile.dotnet index db80c2884..80a87321f 100644 --- a/src/Azure.Functions.Cli/StaticResources/Dockerfile.dotnet +++ b/src/Azure.Functions.Cli/StaticResources/Dockerfile.dotnet @@ -1,8 +1,5 @@ FROM mcr.microsoft.com/dotnet/sdk:6.0 AS installer-env -# Build requires 3.1 SDK -COPY --from=mcr.microsoft.com/dotnet/core/sdk:3.1 /usr/share/dotnet /usr/share/dotnet - COPY . /src/dotnet-function-app RUN cd /src/dotnet-function-app && \ mkdir -p /home/site/wwwroot && \ diff --git a/src/Azure.Functions.Cli/StaticResources/Dockerfile.dotnetIsolated b/src/Azure.Functions.Cli/StaticResources/Dockerfile.dotnetIsolated index 67c6b26a9..555a392c4 100644 --- a/src/Azure.Functions.Cli/StaticResources/Dockerfile.dotnetIsolated +++ b/src/Azure.Functions.Cli/StaticResources/Dockerfile.dotnetIsolated @@ -1,8 +1,5 @@ FROM mcr.microsoft.com/dotnet/sdk:6.0 AS installer-env -# Build requires 3.1 SDK -COPY --from=mcr.microsoft.com/dotnet/core/sdk:3.1 /usr/share/dotnet /usr/share/dotnet - COPY . /src/dotnet-function-app RUN cd /src/dotnet-function-app && \ mkdir -p /home/site/wwwroot && \ diff --git a/src/Azure.Functions.Cli/StaticResources/Dockerfile.node18 b/src/Azure.Functions.Cli/StaticResources/Dockerfile.node18 new file mode 100644 index 000000000..4d1fb979e --- /dev/null +++ b/src/Azure.Functions.Cli/StaticResources/Dockerfile.node18 @@ -0,0 +1,11 @@ +# To enable ssh & remote debugging on app service change the base image to the one below +# FROM mcr.microsoft.com/azure-functions/node:4-node18-appservice +FROM mcr.microsoft.com/azure-functions/node:4-node18 + +ENV AzureWebJobsScriptRoot=/home/site/wwwroot \ + AzureFunctionsJobHost__Logging__Console__IsEnabled=true + +COPY . /home/site/wwwroot + +RUN cd /home/site/wwwroot && \ + npm install \ No newline at end of file diff --git a/src/Azure.Functions.Cli/StaticResources/Dockerfile.typescript.node18 b/src/Azure.Functions.Cli/StaticResources/Dockerfile.typescript.node18 new file mode 100644 index 000000000..3dcb7b2d6 --- /dev/null +++ b/src/Azure.Functions.Cli/StaticResources/Dockerfile.typescript.node18 @@ -0,0 +1,12 @@ +# To enable ssh & remote debugging on app service change the base image to the one below +# FROM mcr.microsoft.com/azure-functions/node:4-node18-appservice +FROM mcr.microsoft.com/azure-functions/node:4-node18 + +ENV AzureWebJobsScriptRoot=/home/site/wwwroot \ + AzureFunctionsJobHost__Logging__Console__IsEnabled=true + +COPY . /home/site/wwwroot + +RUN cd /home/site/wwwroot && \ + npm install && \ + npm run build \ No newline at end of file diff --git a/src/Azure.Functions.Cli/StaticResources/StaticResources.cs b/src/Azure.Functions.Cli/StaticResources/StaticResources.cs index a3a8b7baf..90ca993a5 100644 --- a/src/Azure.Functions.Cli/StaticResources/StaticResources.cs +++ b/src/Azure.Functions.Cli/StaticResources/StaticResources.cs @@ -58,8 +58,12 @@ public static async Task GetValue(string name) public static Task DockerfileNode16 => GetValue("Dockerfile.node16"); + public static Task DockerfileNode18 => GetValue("Dockerfile.node18"); + public static Task DockerfileTypescript => GetValue("Dockerfile.typescript"); + public static Task DockerfileTypescriptNode18 => GetValue("Dockerfile.typescript.node18"); + public static Task DockerIgnoreFile => GetValue("dockerignore"); public static Task VsCodeExtensionsJson => GetValue("vscode.extensions.json");