Azure web app deployment not being detected

Expected behavior

The back end is detected and the deployment is completed.

Actual behavior

The back end is no being detected and I am seeing the call to /forest in the dev tools but it is returning a 204 no content response

Failure Logs

There are no error in the console
Server logs have this:
2020-11-18T10:08:26.842811328Z e[31m[forest] :deciduous_tree::deciduous_tree::deciduous_tree: The .forestadmin-schema.json file does not exist.e[39m

2020-11-18T10:08:26.843994844Z e[31m[forest] :deciduous_tree::deciduous_tree::deciduous_tree: The schema cannot be synchronized with Forest Admin servers.e[39m

2020-11-18T10:08:26.983891755Z GET /robots933456.txt 404 155 - 261.445 ms

2020-11-18T10:08:27.060544701Z GET /forest 404 145 - 7.787 ms

2020-11-18T10:08:27.133474697Z Your admin panel is available here: https://app.forestadmin.com/projects

2020-11-18T10:08:31.307719890Z GET /forest 204 - - 7.658 ms

Context

  • Database Dialect:mssql
  • Project Name:GroupFinder

Hello @Ben_Sheridan and welcome to our community forums !

I think I may need some more information to be able to help you out on this one, there may be a problem with the way you deployed your backend ? It looks like your backend is having trouble initializing.

Could you give me more details about the process you went through to deploy it? :slightly_smiling_face:

Hi @remi I used vs code azure web app plugin to deploy the code up into a Linux node 12 Azure web app I updated the .env there to have the setting given from the deploy to production in the admin, I reset the web app and checked the admin page and can see the env vars are being set. The files do match up to what is working on my local version. I can see the .forestadmin-schema.json file when I ftp into it I can run commands on there if there is something I need to run

This is the domian for the api and it is accessible https://groupfinderdev.azurewebsites.net/.

I have also turned on the websockets as I saw there was an error int he console log about unable to connect to the web socket but turning on websockts has fixed that.

This error about the .forestadmin-schema.json you see is only displayed when the server doesn’t find this file, so my guess is that something went wrong with your deployment.

Just to be sure, is it an existing project on which you created a new environment, or is it a brand new project that you are deploying remotely ?

We have some how-tos in the setup section of our documentation that can guide you through deployment and remote installations. Even though we currently don’t have a guide for Azure web apps, one of our existing ones may be close enough to your process !

Please come back to me with screenshots of your deployment process if it still doesn’t work, I’ll try to investigate this with you.

Hi @remi I have found this https://stackoverflow.com/questions/17242912/can-i-use-the-native-fs-filesystem-in-node-js-on-microsoft-azure wondering if this is the issue do you know where it looks to load up the file and see if this is the issue as you can see here the file is present in the root as expected

As far as I know we already use __dirname to resolve the path to this file, but this could be something to investigate!

The file that is triggering this error can be found in node_modules/forest-express/dist/index.js. It tries to load the file on l.342, based on SCHEMA_FILENAME, which is built above on l.75. The generated absolute path comes from node_modules/forest-express/dist/utils/project-directory.js.

Could you maybe try to add some console.log in there ?

I don’t have an azure environment to try to reproduce this, so I’d also thank you for your help in debugging this !

Hi @remi and anyone who comes across this later I managed to get it working on Azure by ftping the files up excluding the node_modules directory then using the web ssh to run npm install then restart the server and it is running now just fine. One gotcha was I had to manually put up the forest-express-sequelize module as it failed for npm install but the admin ran fine after that.

Thanks for the help

1 Like