我为asp.net核心Web应用程序使用了非常标准的自定义kudu部署脚本,用于外部git部署。 通过混合SCM_COMMAND_IDLE_TIMEOUT和.cmd文件编码,我设法成功地成功运行了该脚本。我的部署脚本如下所示:
.deployment
[config]
command = deploy.cmd
deploy.cmd
@echo off
IF "%WEBSITE_SITE_TYPE%" == "<project_name>" (
.\<project folder>\Properties\deploy.cmd
goto end
)
echo Unknown WEBSITE_SITE_TYPE: "%WEBSITE_SITE_TYPE%". Expected one of the "<project name>"
:end
exit /b
.\<project folder>\Properties\deploy.cmd
-常规的asp.net核心deploy.cmd脚本,已更新为正确的文件夹结构。
WEBSITE_SITE_TYPE是我添加到Web应用程序的自定义环境变量。 所有这些脚本都是用utf-8保存的,没有BOM编码。
但是即使脚本看起来运行成功,部署过程的最终状态还是失败。
查看kudu部署日志时,日志的最后几行如下:
...
2018-10-14T20:50:51.0660695Z,Copying file: 'wwwroot\runtime.ec2944dd8b20ec099bf3.js',,0
2018-10-14T20:50:51.0660695Z,Copying file: 'wwwroot\styles.8ef9ef86d2a54ed3748c.css',,0
2018-10-14T20:50:51.0816988Z,Deleting app_offline.htm,,0
2018-10-14T20:50:51.0816988Z,Finished successfully.,,0
2018-10-14T20:50:51.1129431Z,\r\nD:\Program Files (x86)\SiteExtensions\Kudu\78.11002.3584\bin\Scripts\starter.cmd deploy.cmd,,2
显然,最后一行返回错误代码2,这可能会导致脚本状态失败。但是它是什么意思,我该如何解决?