如何在VSTS部署成功后在azure app服务上运行npm命令?

时间:2017-06-06 00:24:44

标签: node.js azure deployment npm azure-pipelines

现在我可以从VSTS部署到azure,但在部署成功后我无法运行npm。

现在它就像 - >运行npm install for branch files => zip =>复制到azure =>部署。

我想将 npm run custom-comand 添加到此链的末尾。 怎么做?

enter image description here

5 个答案:

答案 0 :(得分:8)

The Azure App Service Deployment task in VSTS now supports a post-deployment script. Here is a screen-shot from version 3.* of the task:

Post Deployment Action settings

See Task Parameters for more details.

Windows App Services users: Watch out for an npm bug that prevents multiple npm commands from being run (inline or in a script). For example:

npm install
npm test

Will only run npm install. There are several workarounds including this:

npm install & npm test

答案 1 :(得分:4)

没有开箱即用的构建任务来实现您想要的功能。如果您确实要从Azure App Service运行npm:

手动:您可以转到App Service的Kudu console并在那里运行npm命令:enter image description here

自动:您需要创建自己的构建任务以通过Kudu Rest API

运行npm命令

答案 2 :(得分:3)

您可以通过Kudu REST API运行npm install等命令。

Here's a scripted example written in PowerShell

Azure App Service Deploy 任务之后添加PowerShell脚本任务以调用npm install(或Kudu支持的任何其他命令)。并在构建管道中禁用 npm install 任务。

答案 3 :(得分:3)

App Service利用的Kudu部署引擎能够运行自定义部署脚本。您可以在custom deployment script中包含所需的npm命令,该命令将作为Azure端部署的一部分执行。无需REST API调用,所有内容都保留在源代码管理系统中。

答案 4 :(得分:0)

您可以使用 PowerShell任务 npm任务来执行npm命令。

需要注意的一点是:您还需要将带有身份验证令牌的.npmrc上传到Azure。