【问题标题】:How to specify build configuration for aspnet core project on Azure WebApp如何在 Azure WebApp 上为 aspnet 核心项目指定构建配置
【发布时间】:2017-05-26 23:31:50
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    根据从KUDU下载的deploy.cmd文件,你会发现.net核心应用和.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的配置标签更改为Debug即可。

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

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

    更多细节,您可以参考以下步骤:

    1.打开KUDU

    2.下载部署脚本。

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

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

    5.最后,你推送 git。

    【讨论】:

      猜你喜欢
      • 2019-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多