Azure Web应用程序Kudu配置

时间:2016-05-03 07:27:56

标签: asp.net node.js azure azure-web-sites kudu

有没有人有一个自定义kudu的例子来运行npm,bower和typescript编译gulp / grunt脚本作为CI过程的一部分,用于asp.Net应用程序?

我有一个webslot,其部署源配置为我的repo的一个分支。在推送回购时,webslot同步。我尝试自定义deploy.cmd来运行,但是我根据我安装的npm / node的版本出错了。

是否有另一种方法可以强制在asp.net网站的Web插槽中运行npm / node版本?我已经尝试过指定这些应用设置,

WEBSITE_NODE_DEFAULT_VERSION = 4.4.3
WEBSITE_NPM_DEFAULT_VERSION = 3.8.9

但是运行npm -v给了我1.1.37

并且运行node -v给了我v0.10.28和以下错误

Window title cannot be longer than 1023 characters.
At line:1 char:1
+ node -v
+ ~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [], RuntimeException
    + FullyQualifiedErrorId : Argument

在d:\ home \ site \ wwwroot中运行npm install也失败

PS D:\home\site\wwwroot> npm install
npm WARN package.json basrat.org@1.0.0 No README.md file found!
npm http GET https://registry.npmjs.org/typings
npm http GET https://registry.npmjs.org/gulp-tslint
npm http GET https://registry.npmjs.org/gulp-bower
npm http GET https://registry.npmjs.org/gulp-debug
npm http GET https://registry.npmjs.org/gulp-sourcemaps
npm http GET https://registry.npmjs.org/gulp-rimraf
npm http GET https://registry.npmjs.org/gulp-inject
npm http GET https://registry.npmjs.org/gulp
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/gulp-typescript
npm http GET https://registry.npmjs.org/gulp-debug
npm http GET https://registry.npmjs.org/gulp-rimraf
npm http GET https://registry.npmjs.org/gulp-bower
npm http GET https://registry.npmjs.org/gulp
npm http GET https://registry.npmjs.org/gulp-inject
npm http GET https://registry.npmjs.org/gulp-sourcemaps
npm http GET https://registry.npmjs.org/gulp-tslint
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/typings
npm http GET https://registry.npmjs.org/gulp-typescript
npm http GET https://registry.npmjs.org/gulp-rimraf
npm http GET https://registry.npmjs.org/gulp-debug
npm ERR! Error: SSL Error: CERT_UNTRUSTED
npm ERR!     at ClientRequest.<anonymous> (D:\Program Files (x86)\nodejs\node_modules\npm\node_modules\request\main.js:440:26)
npm ERR!     at ClientRequest.g (events.js:156:14)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at HTTPParser.parserOnIncomingClient (http.js:1256:7)
npm ERR!     at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:91:29)
npm ERR!     at CleartextStream.socketOnData (http.js:1288:20)
npm ERR!     at CleartextStream._push (tls.js:375:27)
npm ERR!     at SecurePair.cycle (tls.js:734:20)
npm ERR!     at EncryptedStream.write (tls.js:130:13)
npm ERR!     at Socket.ondata (stream.js:38:26)
npm ERR!  [Error: SSL Error: CERT_UNTRUSTED]
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "D:\\Program Files (x86)\\nodejs\\\\node.exe" "D:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd D:\home\site\wwwroot
npm ERR! node -v v0.6.20
npm ERR! npm -v 1.1.37
npm ERR! message SSL Error: CERT_UNTRUSTED
npm http GET https://registry.npmjs.org/gulp-bower
npm http GET https://registry.npmjs.org/gulp
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/gulp-sourcemaps
npm http GET https://registry.npmjs.org/gulp-inject
npm http GET https://registry.npmjs.org/gulp-tslint
npm http GET https://registry.npmjs.org/typings
npm http GET https://registry.npmjs.org/gulp-typescript

我应该在repositry文件夹中运行所有操作命令/脚本吗?然后将所有内容复制到wwwroot文件夹?

3 个答案:

答案 0 :(得分:0)

对于&#39; CERT_UNTRUSTED&#39;错误,您可以使用以下cmd绕过https:

npm config set strict-ssl false

或执行此操作:

process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';

答案 1 :(得分:0)

Azure Web Apps运行时似乎没有nodejs版本4.4.3,您登录应用程序的Kudu控制台站点,网址为https://<your_web_app_name>.scm.azurewebsites.net/DebugConsole,并将目录更改为{{1}你可以找到所有可用的nodejs版本列表。

这是文件夹列表:

D:\Program Files (x86)\nodejs>

请尝试将应用设置Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 4/17/2016 4:06 AM 0.10.18 d---- 4/17/2016 4:06 AM 0.10.21 d---- 4/17/2016 4:06 AM 0.10.24 d---- 4/17/2016 4:05 AM 0.10.26 d---- 4/17/2016 4:05 AM 0.10.28 d---- 4/17/2016 4:05 AM 0.10.29 d---- 4/17/2016 4:05 AM 0.10.31 d---- 4/17/2016 4:05 AM 0.10.32 d---- 4/17/2016 4:04 AM 0.10.40 d---- 4/17/2016 3:49 AM 0.10.5 d---- 4/17/2016 4:04 AM 0.12.0 d---- 4/17/2016 4:04 AM 0.12.2 d---- 4/17/2016 4:04 AM 0.12.3 d---- 4/17/2016 4:04 AM 0.12.6 d---- 4/17/2016 4:07 AM 0.6.20 d---- 4/17/2016 4:08 AM 0.8.19 d---- 4/17/2016 4:07 AM 0.8.2 d---- 4/17/2016 4:06 AM 0.8.26 d---- 4/17/2016 4:06 AM 0.8.27 d---- 4/17/2016 4:06 AM 0.8.28 d---- 4/17/2016 4:04 AM 4.0.0 d---- 4/17/2016 4:04 AM 4.1.0 d---- 4/17/2016 4:04 AM 4.1.2 d---- 4/17/2016 4:04 AM 4.2.1 d---- 4/17/2016 4:04 AM 4.2.2 d---- 4/17/2016 4:04 AM 4.2.3 d---- 4/17/2016 4:04 AM 4.2.4 d---- 4/17/2016 4:04 AM 4.3.0 d---- 4/17/2016 4:04 AM 4.3.2 d---- 4/17/2016 4:04 AM 4.4.0 d---- 4/17/2016 4:04 AM 4.4.1 d---- 4/17/2016 4:03 AM 5.0.0 d---- 4/17/2016 4:03 AM 5.1.1 d---- 4/17/2016 4:03 AM 5.3.0 d---- 4/17/2016 4:03 AM 5.4.0 d---- 4/17/2016 4:03 AM 5.5.0 d---- 4/17/2016 4:03 AM 5.6.0 d---- 4/17/2016 4:03 AM 5.7.0 d---- 4/17/2016 4:03 AM 5.7.1 d---- 4/17/2016 4:03 AM 5.8.0 d---- 4/17/2016 4:02 AM 5.9.1 d---- 4/29/2016 7:46 PM 6.0.0 修改为上述可用版本。

如有任何进一步的顾虑,请随意告诉我。

答案 2 :(得分:0)

您可以创建custom deployment script来下载所需的任何工具,然后调用它们以您想要的方式部署您的网站。