azure git支持的连续部署的正确部署脚本

lymnna71  于 2021-06-20  发布在  Kudu
关注(0)|答案(1)|浏览(466)

我有一个asp.net 4.5 mvc应用程序,它使用angular 1.5。js代码是typescript,构建后的操作构建js代码并将其部署到我的应用程序引用的文件夹中。
我在我的azure web应用上有一个槽,它支持我的gitlab回购。提交到repo会触发部署,但是在更新bower/npm或typings库时(通过kudu控制台手动清除文件夹来解决),部署后构建似乎经常出现问题。有没有人有一个deploy.cmd脚本的例子
npm安装
打字机安装
在管道中的正确位置,以便正确部署文件。我想用一个新的插槽开始scratch,而为了让现有的插槽正常工作,过去我必须手动安装打字机 "npm install typings --global" 为了让构建在没有打字错误的情况下工作。
更新下面的输出我猜下面的错误是由于azure在需要typescript>1.6的引用文件上运行typescript1.6编译器造成的。我的csproj <TypeScriptToolsVersion>2.0</TypeScriptToolsVersion> (我从编译输出中删除了我的文件,但是\u all.d.ts文件引用了下面的错误文件

CompileTypeScript:
  D:\Program Files (x86)\Microsoft SDKs\TypeScript\1.6\tsc.exe  --sourcemap --target ES5 --noEmitOnError "REMOVED MY TYPESCRIPTFILES" "D:\home\site\repository\mymvcproject\app\src\_all.d.ts"
D:\home\site\repository\mymvcproject\typings\globals\angular\index.d.ts(1824,32): error TS1110: Build: Type expected. [D:\home\site\repository\mymvcproject\mymvcproject.csproj]
D:\home\site\repository\mymvcproject\typings\globals\angular\index.d.ts(1824,50): error TS1005: Build: ']' expected. [D:\home\site\repository\mymvcproject\mymvcproject.csproj]
D:\home\site\repository\mymvcproject\typings\globals\angular\index.d.ts(1824,58): error TS1005: Build: ',' expected. [D:\home\site\repository\mymvcproject\mymvcproject.csproj]
D:\home\site\repository\mymvcproject\typings\globals\angular\index.d.ts(1824,59): error TS1136: Build: Property assignment expected. [D:\home\site\repository\mymvcproject\mymvcproject.csproj]
D:\home\site\repository\mymvcproject\typings\globals\angular\index.d.ts(1941,1): error TS1128: Build: Declaration or statement expected. [D:\home\site\repository\mymvcproject\mymvcproject.csproj]
Done Building Project "D:\home\site\repository\mymvcproject\mymvcproject.csproj" (Build;pipelinePreDeployCopyAllFilesToOneFolder target(s)) -- FAILED.

typescript团队最终生成了typescript2.*的一个版本,该版本可以安装在azure上,然后kudu团队部署了它。现在整个过程都成功了!下面关于使用

"preinstall": "npm install typescript -g && npm install typings -g"

是解决方案的另一部分!

mtb9vblg

mtb9vblg1#

根据您的要求,您可以按照以下步骤来实现您的目的。
创建部署脚本
你可以登录到kudu工具(https://.scm.azurewebsites.net/),单击“工具”>“下载部署脚本”。此外,还可以利用azurecli生成脚本。有关如何通过azurecli生成部署脚本的更多详细信息,请参阅本教程。
自定义部署脚本
要使用npm管理包,可以在package.json文件中添加以下脚本。

"scripts":{
    "preinstall": "npm install typescript -g && npm install typings -g"
 }

然后,需要将以下脚本添加到deploy.cmd文件中。

IF EXIST "%DEPLOYMENT_SOURCE%\package.json" (
  pushd "%DEPLOYMENT_SOURCE%"
  echo installing npm package
  call :ExecuteCmd npm install --production
  IF !ERRORLEVEL! NEQ 0 goto error
  popd
)

或者您可以添加以下脚本来直接通过命令行安装typescript和typings。

echo Installing typescript and typings
call npm install typescript -g && npm install typings -g
IF !ERRORLEVEL! NEQ 0 goto error

注意:需要将.deployment、deploy.cmd文件放在解决方案的根目录中。有关详细信息,请参阅此示例项目。

相关问题