Support for Azure Web Sites

Do you have any plans to supporting Azure Web Sites? Those can be deployed to using WebDeploy, FTP, and git. For Octopus, WebDeploy would probably be the best candidate.

David - does this thread help?

I had seen that thread, but it is more focused on Azure Cloud Services (and VMs), which work quite differently from Azure Web Sites. So it’s probably best to discuss the two separately to avoid confusing them.

We have a special step for FTP deployments; for now that’s the only way to push to Azure web sites from Octopus.

We considered using Git, but the problem is needing to sync the git repo every time before a push, as well as needing to bundle the git tools with Octopus.

In the future we’ll consider adding WebDeploy as an alternative option.


Thanks Paul. Using git here probably doesn’t make sense, since (as I understand) Octopus is more about deploying fully built artifact, rather than getting them built at deployment time.

So WebDeploy seems like the best fit, while FTP can do the job until then.

Any news on Web Deploy? I’d also like to push to Azure web sites easily.

I would like to vote for WebDeploy support.

Yes, PLEASE add support for WebDeploy! The FTP deploy is not a good option as it replaces ALL the files. WebDeploy is smart enough to only do the changed files.

Is there an extensibility point here where someone could write an MSDeploy task and plug it into Octopus?

Thanks everyone for weighing in; we may be able to support WebDeploy as a library template, we’ll look into it.

We’re deploying to a couple of Azure websites ourselves using git push and the following template:

(Git - Push HTTPS)[!/step-template/actiontemplate-git-push-(https)]

Let me know if this looks like the right solution :slight_smile:


Nick - that does look useful. One question - am I right is saying that using Git does not give me the same versioning support that Nuget gives? I lose the ability to deploy back to a specific version?

Hi Sean,

Your deployment process would look something like this:

  1. Deploy a NuGet package
  2. Use the Git Push template to push the contents of that package to the Azure website

That is, rather than going directly from Git to Git, there’s still a build/test/NuGet process in between.


In this scenario, the git repo you push to Azure would contain binaries, right? The danger with doing this is that the repo might grow pretty large pretty quickly.


Hi David,

That’s right. The other alternative is to use this template:!/step-template/actiontemplate-git-pull-(https)

You can then combine a ‘Git pull’ with a ‘Git push’.

I can see why using MSDeploy support might work better here. We’ll look at building one soon.


Paul - thanks for the update. That makes sense.

I would also very much like Web Deploy support.

Why do we need to git push to deploy to azure? Coupling with the version control and deployment doesn’t make sense to me.

I think it would be great if we can just do FTP upload but it didn’t work because there is no machine. Of course, there is no machine since we are using Azure web site and azure webjob…

Step 1: web will be skipped because there are no machines in the environment ‘Production’ with the following roles:
Warning 01:26:49
No steps can be executed.

You should be able to FTP deploy to azure. They expose an FTP site for each website. You can find it on your azure dashboard.

Hi Scott,

Yes. But octopusdeploy has the limitation… You can’t deploy anything if there is no machine (tentacle).

I am getting this error below.

Step 1: web will be skipped because there are no machines in the environment ‘Production’ with the following roles:
Warning 01:26:49
No steps can be executed.

Just install tentacle on the machine that you have octopus deploy installed on.