Articles of kudu

Azure webapp node.js应用程序无法启动

我试图在Azure webapp上部署一个非常简单的express.js应用程序。 部署日志显示部署正确传递,但应用程序无法启动。 检查kudu进程资源pipe理器显示确实node.js进程没有运行 另一方面,我没有看到任何应用程序日志,也没有任何迹象表明,该应用程序甚至开始。 有没有办法看到nodeiis试图启动应用程序时发生了什么?

如何在使用Kudu将node.js应用程序部署到Azure时debuggingdeploy.sh?

我正尝试使用Kudu将一个node.js应用程序(只是一个简单的幽灵博客)部署到Azure网站。 我在我的部署脚本( deploy.sh ,从.deployment正确引用)中有以下几行: eval $NPM_CMD install grunt-cli exitWithMessageOnError "Problem Installing Grunt" ./node_modules/.bin/grunt –no-color init exitWithMessageOnError "Problem With Grunt" 部署失败时,我将查看Azurepipe理门户并查看失败的日志。 当npm install grunt-cli运行的时候,我得到了预期的输出结果 – 也就是说它应该被全局安装的一个警告,以及一个指示它已经正确安装的子包的列表。 然后,直接之后我得到: An error has occurred during web site deployment. Problem With Grunt Kudu部署转储中可用的部署的log.xml中的序列(没有更多信息)。 我应该如何解决这个问题? 有没有其他地方可以查找输出和错误? 我可以更改我的脚本输出更多的错误信息? 我要去哪里? 有没有使用Kudu远程控制台工具testing我的部署脚本的方法?

在部署之前或之后构buildWeb应用程序?

上下文 Web应用程序项目具有/build (或/dist )文件夹,其中包含在构build期间(通过Gulp )生成的前端文件。 该文件夹不在源代码pipe理下(例如,请参阅: React.js入门工具包 ) 服务器端代码不需要绑定或编译步骤,因此项目中的/src文件夹可以按原样部署(这些源文件用于运行Node.js或ASP.NET vNext服务器) Web应用程序通过Git进行部署(请参阅Heroku或Windows Azure中的基于Git的部署选项) 问题 在部署之前或之后构build(捆绑和缩小)前端文件是否更好? 如果之前,您最终可能会拥有一个独立的存储库(或分支),源代码pipe理下的/build文件夹与其余的项目文件一起。 此回购仅用于部署目的。 如果在此之后,部署时间可能会增加 – 下载构build过程中使用的附加npm模块所需的时间,则在构build过程中服务器的CPU可能高达100%,这可能会损害Web应用程序的响应能力。 运行KuduSync命令之前或之后在远程服务器上构build前端文件是否更好? 如果使用Kudu将Web应用程序部署到Windows Azure,那么部署脚本是否应该只将/build文件夹(带有.js,.html,.css等公共前端文件)的内容复制到/wwwroot ? 而不是复制所有的项目文件(服务器端源代码和前端包),这是默认的。 默认情况下,Azure的部署脚本将D:\home\site\repository文件夹中的所有项目文件复制到D:\home\site\wwwroot文件夹,然后从那里启动Node.js应用程序。 这是一个必要的步骤吗? 为什么不从D:\home\site\repository文件夹启动Node.js(或ASP.NET vNext)应用程序? 如果它确实应该被复制到一个单独的文件夹,为什么源文件被放置在wwwroot ,也许最好将它们复制到另一个文件夹, wwwroot外?

Grunt无法在Azure网站上运行

我正在尝试使用Azure的Git部署来构build和打包项目。 我创build了以下文件 .deployment deploy.cmd Gruntfile.js package.json 我的.deployment文件调用了deploy.cmd 。 deploy.cmd通过将path设置为包含Node.js和npm的检查副本来设置环境。 我可以打电话给npm install就好了。 当我调用grunt ,它似乎执行到第一个标准输出消息,然后返回并设置错误返回码。 除此之外,我没有收到任何其他消息。 其他命令似乎运行得很好。 我试过把STDERR弄出来,没有运气。 我尝试在远程执行控制台下运行,没有运气。 我的Gruntfile.js本地运行就好了。 有没有我失踪的魔法酱?

为什么babel在USERPROFILEpath中存储.babel.json

我正在azurenetworking应用上运行一个nodejs应用程序,我正在尝试使用npm在其中集成babel。 问题是,巴贝尔正试图获得一个文件 %用户资料% 名为.babel.json,一个不存在的文件。 这很可能通过以下方式安装: npm install -g babel 在azure色的networking应用程序,我似乎无法find它(即使在运行npm install -g babel在该网站的kudu)。 我使用kudu将%USERPROFILE%的文件复制到%USERPROFILE%但在Web应用程序中重新启动文件消失。 有没有一种方法可以使网页上的应用程序babel工作? UPDATE 我没有做一些事情。 当我尝试加载babel/register时出现错误。 require('babel/register')({ optional: ["es7.asyncFunctions"] }); 而我在stream日志中看到的实际错误是 应用程序抛出一个未捕获的exception,并终止:错误:ENOENT,在Object.fs的Object.fs.openSync(fs.js:438:18)上没有这样的文件或目录'D:\ local \ UserProfile.babel.json' .writeFileSync(fs.js:977:15)保存(D:\ home \ site \ wwwroot \ node_modules \ babel \ node_modules \ babel-core \ lib \ api \ register \ cache.js:35:19)。在node.js:906:3启动时(node.js:119:16),Function.Module.runMain(module.js:499:11)处的_tickCallback(node.js:419:13) 该项目在Github上