我有一个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"
是解决方案的另一部分!
1条答案
按热度按时间mtb9vblg1#
根据您的要求,您可以按照以下步骤来实现您的目的。
创建部署脚本
你可以登录到kudu工具(https://.scm.azurewebsites.net/),单击“工具”>“下载部署脚本”。此外,还可以利用azurecli生成脚本。有关如何通过azurecli生成部署脚本的更多详细信息,请参阅本教程。
自定义部署脚本
要使用npm管理包,可以在package.json文件中添加以下脚本。
然后,需要将以下脚本添加到deploy.cmd文件中。
或者您可以添加以下脚本来直接通过命令行安装typescript和typings。
注意:需要将.deployment、deploy.cmd文件放在解决方案的根目录中。有关详细信息,请参阅此示例项目。