15
votes

Recently I need to deploy our website into a QA environment. I find that there are a lot of options in the deployment methods, including FTP and Web Deploy. Before, I often used FTP deployment, which would copy all the website files from Visual Studio to the Server.

But this time, I noticed the Web deploy method. It also requires an account and password to upload the files. But what is the difference between the two methods?

Enter image description here

2
I know this is an old question but in my experience Web Deploy publishes the website a lot faster than FTP, although this may just be my internet connection! - bolt19
@bolt19 - It's not just your internet connection, web deploy does not issue a different command for each operation. Instead, it does a comparison at the start of the sync and only transfers changes. See the article I referenced in my answer. - BornToCode

2 Answers

10
votes

Web deploy offers several benefits over FTP. Here's the sum up:

Web Deploy is faster than FTP. Web Deploy is secure. Web Deploy can apply transforms during deployment. Web Deploy integrates with Visual Studio 2010 and WebMatrix. Web Deploy is extensible.

You can read the full comparison details here.

1
votes

I used both. In my opinion:

Web deploy: take an example, when you have many users on the server, each user has one website, and web deploy is for each user with each website -> I can't deploy my website to another folder of other user's website, because I don't have permission.

FTP: like when you are the administrator of a server, you can deploy directly. With FTP, you can open Windows Explorer, pass the link: fpt://domain.com → Enter → and then you can copy/paste seem like a local computer without FTP deploy in Visual Studio. But make sure the server can open an FTP connection here.