有没有人举例说明如何定制kudu来运行npm、bower和typescript编译gulp/grunt脚本,作为asp.net应用程序的ci过程的一部分?
我有一个webslot,其中配置了repo分支的部署源。推送至回购时,网站将同步。我尝试自定义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
我应该运行存储文件夹中的所有操作命令/脚本吗?然后将所有内容复制到wwwroot文件夹?
3条答案
按热度按时间k5hmc34c1#
您可以创建一个定制的部署脚本来下载您需要的任何工具,并调用它们来准确地部署您的站点。
wsewodh22#
对于“cert\u untrusted”错误,可以使用以下cmd绕过https:
或执行以下操作:
rmbxnbpk3#
似乎azure web apps运行时没有nodejs版本
4.4.3
,您可以登录应用程序的kudu控制台站点,网址为https://<your_web_app_name>.scm.azurewebsites.net/DebugConsole
,并将目录更改为D:\Program Files (x86)\nodejs>
,您可以找到所有可用的nodejs版本列表。以下是文件夹列表:
请尝试修改应用程序设置
WEBSITE_NODE_DEFAULT_VERSION
到上面的可用版本。如有任何进一步的问题,请随时告诉我。