azure - 如何在 Azure WebApp 上指定 aspnet core 项目的构建配置

标签 azure .net-core azure-web-app-service

对于 ASP.NET 项目,我可以使用键 SCM_BUILD_ARGS 和值 -p:Configuration="Debug"设置应用程序设置来更改构建配置。 这似乎不适用于 aspnet core 1.1 项目。 在这种情况下如何指定构建配置?

最佳答案

根据从KUDU下载的deploy.cmd文件,你会发现.net core应用程序与.net应用程序不一样。

deploy.cmd 文件如下:

您将找到 SCM_BUILD_ARGS。

:: 1. Restore NuGet packages
IF /I "Documents\Visual" NEQ "" (
  call :ExecuteCmd nuget restore "%DEPLOYMENT_SOURCE%\Documents\Visual"
  IF !ERRORLEVEL! NEQ 0 goto error
)

:: 2. Build to the temporary path
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
  call :ExecuteCmd "%MSBUILD_PATH%" "%DEPLOYMENT_SOURCE%\Documents\Visual" /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="%DEPLOYMENT_TEMP%";AutoParameterizationWebConfigConnectionStrings=false;Configuration=Release;UseSharedCompilation=false /p:SolutionDir="%DEPLOYMENT_SOURCE%\Documents\\" %SCM_BUILD_ARGS%
) ELSE (
  call :ExecuteCmd "%MSBUILD_PATH%" "%DEPLOYMENT_SOURCE%\Documents\Visual" /nologo /verbosity:m /t:Build /p:AutoParameterizationWebConfigConnectionStrings=false;Configuration=Release;UseSharedCompilation=false /p:SolutionDir="%DEPLOYMENT_SOURCE%\Documents\\" %SCM_BUILD_ARGS%
)

IF !ERRORLEVEL! NEQ 0 goto error

:: 3. KuduSync
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
  call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_TEMP%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
  IF !ERRORLEVEL! NEQ 0 goto error
)

.net核心部署:

它不包含 SCM_BUILD_ARGS。

echo Handling ASP.NET Core Web Application deployment.

:: 1. Restore nuget packages
call :ExecuteCmd dotnet restore "WebCoreGitDeploy.sln"
IF !ERRORLEVEL! NEQ 0 goto error

:: 2. Build and publish
call :ExecuteCmd dotnet publish "WebCoreGitDeploy\WebCoreGitDeploy.csproj" --output "%DEPLOYMENT_TEMP%" --configuration Release
IF !ERRORLEVEL! NEQ 0 goto error

:: 3. KuduSync
call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_TEMP%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
IF !ERRORLEVEL! NEQ 0 goto error

因此,如果您想更改配置,只需下载部署文件并将deploy.cmd的配置标记更改为“调试”即可。

我建议您首先将项目推送到azure web应用程序。然后你可以从 kudu 下载部署脚本。

最后将这些文件添加到项目的根路径中,并使用 git add 命令将文件添加到 git 并推送。

更多详细信息,您可以引用以下步骤:

1.打开KUDU

enter image description here

2.下载部署脚本。

enter image description here

3.使用记事本打开deploy.cmd并更改配置如下

enter image description here

4.然后 git add 更改的文件。

enter image description here

5.最后,你推送git。

关于azure - 如何在 Azure WebApp 上指定 aspnet core 项目的构建配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44211412/

相关文章:

c# - StreamWriter的默认UTF-8编码器不返回前导码

c# - 在 ASP.NET Core 中实现 GraphQL(GraphQL for .Net),为什么我的查询是 :ObjectGraphType class not being registered by dependency injection?

c# - 您如何正确处理 Entity Framework Core 中的 SQL_VARIANT?

azure - 如何在azure web应用程序上部署pgadmin4 docker镜像?

azure - 是否可以通过 Azure bicep/ARM 模板为 LogicApp 指定 Sharepoint 连接?

bash - 无法在 Terraform 中运行 shell 脚本

azure - Powershell - 设置环境变量而无需关闭应用程序

c# - 通过 C# 访问 Azure DevOps 工作元素

Azure函数+ARM : merge app settings with current settings

Azure Web 应用程序更新