Azure NodeJS развертывание Azure Devops не удается, но развертывание Visual Studio работает идеально

Мы пытаемся развернуть приложение NodeJS в службе приложений Azure (Linux), и если мы развернем его из Visual Studio, все будет работать нормально, и сайт будет отображаться отлично. Теперь мы создаем базовый конвейер сборки / выпуска и развертываем zip-файл (созданный из сборки) в службы приложений в Azure, а затем, если мы пытаемся отобразить сайт, он выдает ошибку приложения (ниже журнал ошибки):

> 2020-04-15T20:27:47.222887443Z > [email protected] start /home/site/wwwroot
2020-04-15T20:27:47.222895143Z > node ./bin/www
2020-04-15T20:27:47.222899943Z
2020-04-15T20:27:47.371119383Z internal/modules/cjs/loader.js:797
2020-04-15T20:27:47.371195483Z     throw err;
2020-04-15T20:27:47.371942583Z     ^
2020-04-15T20:27:47.371974683Z
2020-04-15T20:27:47.372042983Z ***Error: Cannot find module '/home/site/wwwroot/bin/www'
2020-04-15T20:27:47.372063083Z     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)
2020-04-15T20:27:47.372103483Z     at Function.Module._load (internal/modules/cjs/loader.js:687:27)
2020-04-15T20:27:47.372136083Z     at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
2020-04-15T20:27:47.372176983Z     at internal/main/run_main_module.js:17:11 {
2020-04-15T20:27:47.372206183Z   code: 'MODULE_NOT_FOUND',***
2020-04-15T20:27:47.372292683Z   requireStack: []
2020-04-15T20:27:47.372316483Z }
2020-04-15T20:27:47.402670091Z npm ERR! code ELIFECYCLE
2020-04-15T20:27:47.409661993Z npm ERR! errno 1
2020-04-15T20:27:47.411500494Z npm ERR! [email protected] start: `node ./bin/www`
2020-04-15T20:27:47.412151894Z npm ERR! Exit status 1
2020-04-15T20:27:47.412616894Z npm ERR!
2020-04-15T20:27:47.419115996Z npm ERR! Failed at the [email protected] start script.
2020-04-15T20:27:47.419849596Z npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-04-15T20:27:47.432179799Z
2020-04-15T20:27:47.432704699Z npm ERR! A complete log of this run can be found in:
2020-04-15T20:27:47.433290000Z npm ERR!     /root/.npm/_logs/2020-04-15T20_27_47_420Z-debug.log
2020-04-15 20:27:48.453 ERROR - Container testexternalapp2_0_6702db49 for site testexternalapp2 has exited, failing site start
2020-04-15 20:27:48.464 ERROR - Container testexternalapp2_0_6702db49 didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.

Я обнаружил, что при развертывании из Visual Studio «./bin/www» создается и развертывается в службе приложений, но при развертывании из конвейера выпуска Azure DevOps Release «./bin/wwww» отсутствует и недоступен. Любая помощь?

Вот что я вижу из Log Stream при развертывании из Visual Studio:

> /appsvctmp/volatile/logs/runtime/afbd672b48147e81a539c200a40b91607386719df21a7e51f842abbcd70c89db.log 
2020-04-15T17:47:12.057871083Z: [INFO]  echo "Done."
2020-04-15T17:47:12.057884183Z: [INFO]  PATH="$PATH:/home/site/wwwroot" npm start
2020-04-15T17:47:13.285047383Z: [INFO]  Found tar.gz based node_modules.
2020-04-15T17:47:13.295572890Z: [INFO]  Removing existing modules directory from root...
2020-04-15T17:47:13.307481412Z: [INFO]  Extracting modules...
2020-04-15T17:47:17.392564316Z: [INFO]  Done.
2020-04-15T17:47:22.666823807Z: [INFO]  
2020-04-15T17:47:22.666850507Z: [INFO]  > [email protected] start /home/site/wwwroot
2020-04-15T17:47:22.666855308Z: [INFO]  > node ./bin/www
2020-04-15T17:47:22.666858408Z: [INFO]  

И при развертывании из Azure DevOps это то, что я вижу из журналов:

2020-04-15T21:17:50.664112070Z npm ERR! errno 1
2020-04-15T21:17:50.664156869Z npm ERR! [email protected] start: `node ./bin/www`
2020-04-15T21:17:50.664174469Z npm ERR! Exit status 1
2020-04-15T21:17:50.664206269Z npm ERR! 
2020-04-15T21:17:50.664220669Z npm ERR! Failed at the [email protected] start script.
2020-04-15T21:17:50.664251169Z npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-04-15T21:17:50.713658687Z 
2020-04-15T21:17:50.713714987Z npm ERR! A complete log of this run can be found in:
2020-04-15T21:17:50.713837887Z npm ERR!     /root/.npm/_logs/2020-04-15T21_17_50_672Z-debug.log

person user42012    schedule 15.04.2020    source источник
comment
Вы сравнивали структуру папок для методов развертывания лука? Может быть, ты что-то не понимаешь в том, как ты упаковываешь артефакт.   -  person Krzysztof Madej    schedule 16.04.2020
comment
Привет @ krzysztof-madej Я сравнил папки, которые я только что обновил в своем исходном сообщении, и упомянул, что при развертывании из Visual Studio ./bin/www доступен в службе приложений, но при развертывании из Azure DevOps этот ./bin/www полностью отсутствует . Я еще раз проверю свою сборку, может, как вы говорите, чего-то не хватает. Но не знаю, как упускается ./bin/www.   -  person user42012    schedule 16.04.2020
comment
Загрузите свои артефакты из конвейера сборки и проверьте, что находится внутри.   -  person Krzysztof Madej    schedule 16.04.2020
comment
Проблема РЕШЕНА, как упоминалось в моем исходном сообщении, нам не хватало файла ./bin/www, и спасибо @KrzysztofMadej за то, что попросил меня проверить содержимое папки и артефакта.   -  person user42012    schedule 16.04.2020
comment
@KrzysztofMadej Пожалуйста, подумайте о добавлении этого в качестве ответа, чтобы помочь участникам с аналогичной проблемой! Просто напоминание :)   -  person LoLance    schedule 21.04.2020
comment
@ user42012 Привет, друг, поскольку ответ Кшиштофа, похоже, решил вашу проблему. Пожалуйста, подумайте о том, чтобы принять его в качестве ответа, как напоминание о это ~   -  person LoLance    schedule 22.04.2020


Ответы (1)


Пожалуйста, скачайте свой артефакт и посмотрите, что внутри.

Может возникнуть проблема с публикацией ваших файлов из-за неправильной конфигурации пути в вашем конвейере. Если вам не хватает ожидаемых файлов / папок в этом случае ./bin/www, вероятно, у вас есть ошибка в конвейере, и в Azure все в порядке.

В этом случае я также рекомендую добавить bash: ls your-publish-directory шаг для проверки содержимого.

person Krzysztof Madej    schedule 21.04.2020