MicrosoftDocs / azure-docs

Open source documentation of Microsoft Azure
https://docs.microsoft.com/azure
Creative Commons Attribution 4.0 International
10.28k stars 21.47k forks source link

Deployed via FTP, no changes visible? #32572

Closed wojtekmaj closed 5 years ago

wojtekmaj commented 5 years ago

I created a simple App Service to deploy a static HTML app of mine. Followed the instructions to deploy via FTP. I successfully connected to FTP server and uploaded the files. I removed default HTML file just to be sure. I made sure I uploaded index.html file. And what? I still see "Hey, Node developers!" welcome page on my app's home address.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

BryanTrach-MSFT commented 5 years ago

@wojtekmaj Thanks for the feedback! We are currently investigating and will update you shortly.

BryanTrach-MSFT commented 5 years ago

@wojtekmaj I see on issue #32573 that you state you do not want to declare a run time environment even though you are using Node. Is there a specific reason why you do not want to declare the run time?

If you do wish to declare the run time, you can run the below Azure CLI cmdlet to declare it.

az webapp config appsettings set --resource-group myResourceGroup --name <app_name> --settings WEBSITE_NODE_DEFAULT_VERSION=10.14.1 Source

Once we have a better idea of your business needs, we can discuss HTML static pages on web apps. We will close out #32573 as a duplicate and discuss both items here. We look forward to your reply.

wojtekmaj commented 5 years ago

Is there a specific reason why you do not want to declare the run time?

I did not need one. I wanted to deploy a rather simple static site. Kinda like

BryanTrach-MSFT commented 5 years ago

@wojtekmaj It's hard to tell what might be the issue with the details given. As a result, we would like to work closer with you on this matter. Please reach out to us at azcommunity@microsoft.com and provide your subscription ID and the URL of this post. We look forward to your reply.

cocowalla commented 5 years ago

The issue seems simple enough to understand - how to create an app service without declaring a runtime? If you are deploying a static, client-side app, it doesn't need a runtime - it's just serving HTML, CSS, images etc.

diegosasw commented 5 years ago

I am also wondering this. I'd like to see an example on how to create a static html (no runtime required). I see instructions https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-html I just need to see instructions on how to do this through the portal, step by step.

Unless a runtime nodeJs is required and used as a static web server..

cephalin commented 5 years ago

@cocowalla @sasw-diego To deploy to default Linux containers you need to specify runtime (App Service needs to know which container to run for you). To deploy static HTML site to Windows, you don't need to specify a runtime at all. Just move your files to your app's /home/site/wwwroot folder, through FTP/Git/any other method you choose. That's the site root.

cocowalla commented 5 years ago

@cephalin Yeah, I figured this out and switched to a Windows App Service. I really feel like the docs need some improvement here, to make clear that with the Linux App Service you actually have to "bring your own web server".

But it seems like a glaring feature omission - I'd love to see an option where the Linux App Service can host static content for you, just as the Windows App Service can. I presume the Windows App Service uses IIS under the hood, so the Linux one could use nginx?

cephalin commented 5 years ago

@cocowalla Linux App Service you don't have to bring your own web server. But yes you need to stick with the runtime options available to you, otherwise you need to "bring your own container".

On hosting static content in Linux, feel free to bring your suggestion for the feature to https://feedback.azure.com/forums/34192--general-feedback. Thanks!

diegosasw commented 5 years ago

The portal makes it mandatory to specify a runtime even if it's Windows image I'm still confused about it. I opened a stackoverflow question because I've been unable to create a simple static website with a single App Service using the portal https://stackoverflow.com/questions/58749812/azure-create-the-most-basic-app-service-to-serve-static-files-with-or-without-no

cephalin commented 5 years ago

I guess the portal has evolved overtime. But you can still create in Cloud Shell without the runtime: az webapp create -g myResourceGroup -p myAppServicePlan -n my-app-name

cocowalla commented 5 years ago

@cephalin Hah, if Azure CLI actually worked from Cloud Shell - I got a whole bunch of errors when trying to do anything with the webapp option :/

But @sasw-diego is right, you still need to select a runtime even though it can serve static resources just fine without out - I used the .NET Core runtime, and it serves static content using the built-in web server.

yyou commented 4 years ago

This issue seems not related with having a runtime or not. The ftp upload folder '/site/wwwroot' is just not the folder for website! This has wasted me several hours!

I created a web app with docker nginx and tried to upload the website files (html, css, js files only). And it's still the same issue.

gwesterman commented 4 years ago

I too am seeing a huge dissonance between what my FTP client is showing me and what is actually deployed.

I deployed an Angular app using Azure DevOps and used the default FTP deployment credentials provided by Azure.

Using FTP the folder 'site/wwwroot/' only contains 'hostingstart.html' but when using the Kudu dashboard via 'https://app-name.scm.azurewebsites.net/DebugConsole' I can see the actual file structure of my application.

What am I missing, why does FTP not provide the latest data?

ericchansen commented 4 years ago

I second all of this. I can deploy a simple create-react-app using FTP only when I'm using a Windows Web App. Linux Web App doesn't work. They're both running Node 12 LTS runtime stack.

oshihirii commented 1 year ago

I too am seeing a huge dissonance between what my FTP client is showing me and what is actually deployed.

I deployed an Angular app using Azure DevOps and used the default FTP deployment credentials provided by Azure.

Using FTP the folder 'site/wwwroot/' only contains 'hostingstart.html' but when using the Kudu dashboard via 'https://app-name.scm.azurewebsites.net/DebugConsole' I can see the actual file structure of my application.

What am I missing, why does FTP not provide the latest data?

I am getting the same behaviour.

I created a web app, FTP'ed in, edited the default 'hostingstart.html' file and an hour later the changes are still not showing.

Nothing is mentioned in the docs about this behaviour:

https://learn.microsoft.com/en-us/azure/app-service/deploy-ftp?tabs=portal

Environment:

Operating System: Linux SKU: Free Publish: Code
Runtime stack: Node 18 LTS

jlfrances commented 1 year ago

I too am seeing a huge dissonance between what my FTP client is showing me and what is actually deployed.

I deployed an Angular app using Azure DevOps and used the default FTP deployment credentials provided by Azure.

Using FTP the folder 'site/wwwroot/' only contains 'hostingstart.html' but when using the Kudu dashboard via 'https://app-name.scm.azurewebsites.net/DebugConsole' I can see the actual file structure of my application.

What am I missing, why does FTP not provide the latest data?

For all those that have differences between Kudu Console vs. Azure Web App FTP directory, check this out: https://stackoverflow.com/a/68007598/21699483

draxtor commented 4 months ago

Jesus. 5 years passed and I am still having this issue with Linux Web app and Ftps deploy. Kudu says it is ok and web app continue to show hostingstart.html