我目前正在开发Angular2应用程序,并希望使用azure发布管理器配置持续集成和持续部署。
到目前为止我工作的东西:CI和CD到WebApp,home / site / wwwroot包含源文件(没有node_modules)。
不能正常工作:App无法启动。浏览到url会导致占位符(例如“正在加载...”)。在我的本地机器上,我会打电话给'npm install',然后'npm start',然后打电话给'tsc&&同时“tsc -w”“lite-server”'。根据我的理解,这适用于开发环境,但不应该用于生产。
我尝试过的事情:
所以问题是:
提前谢谢。
更新:当我切换到angular-cli时,现在情况越来越清晰了。在我的开发机器上,我使用“ng build”和“ng serve”在本地运行。对于部署,我使用“ng build -prod”并将创建的“dist”目录的内容部署到生产中。但是,这仍然是一种解决方法,因为我无法让构建代理执行这些步骤。我尝试将angular-cli引用移动到“Dependencies”,然后在代理上调用“npm install”和“ng build -prod”来获取“dist”文件夹。然后,我的部署配置会将dist文件夹的内容复制到Web应用程序。然后“ng build -prod”步骤失败
'ng'未被识别为内部或外部命令
我理解我无法在构建代理上安装和运行任何软件包,但我真的想使用angular-cli构建应用程序,因为它包含webpack。是否有可能按照描述使其正常工作?
答案 0 :(得分:1)
您可以利用Custom Deployment Script For Azure Web Apps using Git Deployment来满足您的要求。
特别针对angular2,我们应该在package.json
文件中进行一些修改,以使angular2成功部署到Azure Web Apps。
devDependeccies
部分中的所有依赖项模块移至dependencies
部分。"postinstall": "typings install && tsc"
代替"postinstall": "typings install"
。对于问题2,您不必将node_modules
文件夹与项目一起推送。如果您在package.json
的依赖项中声明了它,那么kudu将克隆您的项目并运行npm install –production
以下载正确的内容。