Support for Azure Web Sites

david.ebbo's Avatar

david.ebbo

03 Jul, 2013 01:39 AM

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.

  1. 1 Posted by sean kearon on 03 Jul, 2013 01:44 PM

    sean kearon's Avatar
  2. 2 Posted by david.ebbo on 03 Jul, 2013 02:40 PM

    david.ebbo's Avatar

    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.

  3. Support Staff 3 Posted by Paul Stovell on 09 Jul, 2013 01:48 AM

    Paul Stovell's Avatar

    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.

    Paul

  4. 4 Posted by david.ebbo on 09 Jul, 2013 09:18 AM

    david.ebbo's Avatar

    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.

  5. 5 Posted by Brian Vallelung... on 24 Feb, 2014 08:12 PM

    Brian Vallelunga's Avatar

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

  6. 6 Posted by Jakub Konecki on 24 Feb, 2014 09:50 PM

    Jakub Konecki's Avatar

    I would like to vote for WebDeploy support.

  7. 7 Posted by Scott Belchak on 06 Mar, 2014 09:57 PM

    Scott Belchak's Avatar

    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.

  8. 8 Posted by jim on 24 May, 2014 03:48 PM

    jim's Avatar

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

  9. 9 Posted by Nicholas Blumha... on 26 May, 2014 01:54 AM

    Nicholas Blumhardt's Avatar

    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)[http://library.octopusdeploy.com/#!/step-template/actiontemplate-gi...]

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

    Regards,
    Nick

  10. 10 Posted by sean kearon on 26 May, 2014 07:09 AM

    sean kearon's Avatar

    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?

  11. Support Staff 11 Posted by Paul Stovell on 26 May, 2014 10:12 PM

    Paul Stovell's Avatar

    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.

    Paul

  12. 12 Posted by david.ebbo on 26 May, 2014 11:45 PM

    david.ebbo's Avatar

    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.

    David

  13. Support Staff 13 Posted by Paul Stovell on 27 May, 2014 12:16 AM

    Paul Stovell's Avatar

    Hi David,

    That's right. The other alternative is to use this template:

    http://library.octopusdeploy.com/#!/step-template/actiontemplate-gi...

    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

  14. 14 Posted by sean kearon on 27 May, 2014 05:33 PM

    sean kearon's Avatar

    Paul - thanks for the update. That makes sense.

  15. 15 Posted by Paul Mendoza on 07 Jun, 2014 06:05 AM

    Paul Mendoza's Avatar

    I would also very much like Web Deploy support.

  16. 16 Posted by mchlsync on 07 Jun, 2014 05:33 PM

    mchlsync's Avatar

    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.

  17. 17 Posted by Scott Belchak on 07 Jun, 2014 05:46 PM

    Scott Belchak's Avatar

    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.

  18. 18 Posted by mchlsync on 07 Jun, 2014 05:57 PM

    mchlsync's Avatar

    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.

  19. 19 Posted by Scott Belchak on 07 Jun, 2014 07:12 PM

    Scott Belchak's Avatar

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

  20. 20 Posted by mchlsync on 07 Jun, 2014 08:02 PM

    mchlsync's Avatar

    Thanks! I did it. but seems like it's a workaround.

    It took only less than 1 minute to deploy the website using MS Deploy directly from CI (TeamCity)..

    It took more than 2 or 3 minutes to deploy it using Octopus + local tentacle + FTP.

    I think this is something that Octopus team should look at it..

  21. Support Staff 21 Posted by Paul Stovell on 09 Jun, 2014 09:17 AM

    Paul Stovell's Avatar

    Hi all,

    There is a new step template on the library that uses MS Deploy - you can use it to push to Azure web sites:

    http://library.octopusdeploy.com/#!/step-template/actiontemplate-we...

    I'd love if you could try this out and let me know if it falls short anywhere. You'll still need a Tentacle running on the Octopus server - details here:

    http://docs.octopusdeploy.com/display/OD/How+to+run+steps+on+the+Oc...

    Paul

  22. 22 Posted by Saber Karmous on 10 Jun, 2014 02:21 PM

    Saber Karmous's Avatar

    Hi Paul,

    I got it working! I used the info on this blogpost : http://michaelcollier.wordpress.com/2012/06/27/windows-azure-web-si...

    Teamcity + Octopus + Azure Website is working now!!!! See screenshot

  23. 23 Posted by mchlsync on 10 Jun, 2014 02:31 PM

    mchlsync's Avatar

    Hi Paul,

    Thanks! I managed to make it work with FTP for both Azure website and web job.

    Hi Saber,

    We are not talking about deploying the azure site from Visual Studio. The link that you posted doesn't mention anything about Octopus.

    I know how to deploy the azure website using MSDeploy. (still, we are not going to deploy anything directly from Visual Studio. We are talking about deploying something from CI or Octopus.)

    WebDeploy 3 – Error in publishing website to Amazon EC2
    http://michaelsync.net/2013/10/29/webdeploy-3-error-in-publishing-w...

    Continous Delivery: full script for deploying Azure WebRole and WorkerRole from Powershell
    http://michaelsync.net/2013/11/09/continous-delivery-full-script-fo...

    Thanks!

  24. 24 Posted by mchlsync on 10 Jun, 2014 05:30 PM

    mchlsync's Avatar

    Hi Paul,

    Thanks for the template. I don't want to use git-push for deployment but I may try out your MS deploy template later. As of now, we are using the FTP template for both azure website deployment and azure web job deployment. I shared about it in here http://michaelsync.net/2014/06/10/deploying-the-azure-website-and-a... Hope someone find it useful.

  25. 25 Posted by Saber Karmous on 10 Jun, 2014 08:26 PM

    Saber Karmous's Avatar

    @mchisync I reacted on Paul's tip on using the new step template for deploying using MS Deploy. MS Deploy is also used to deploy to Azure Website. So I'm not deploying straight from Visual Studio. I commit/push from VS to a Git repo, Teamcity pulls, debug builds, unit tests, release builds, publishes to nuget repo and creates a new release in octopus. From within Octopus a promote the release to Azure.

  26. 26 Posted by twaggs on 07 Jul, 2014 06:05 PM

    twaggs's Avatar

    Paul,

    I'm intermittently getting this error using the Web Deploy step template: No install location found for step: $stepName"

    Could this be caused by the deploy step executing before the package step has completed and has an install location? Is there a way we can make this step wait for previous steps to complete?

    Thanks,
    Tom

  27. 27 Posted by Vanessa Love on 08 Jul, 2014 06:11 AM

    Vanessa Love's Avatar

    Hi Tom,

    We have finally been able to find the source of this bug and are working on a fix.
    You can track the issue here: https://github.com/OctopusDeploy/Issues/issues/1005
    The issue is with child steps not waiting for all the information before starting the next task, and the only current work around is to make all of your steps individual steps and not child steps.

    Thanks,
    Vanessa

  28. 28 Posted by Brian Vallelung... on 14 Jul, 2014 10:13 PM

    Brian Vallelunga's Avatar

    Can someone explain how the MS Deploy step is supposed to work with Azure web sites? It seems like it needs the site already deployed locally and then it does a sync. That's not very useful in my mind, since I just want to deploy to Azure Web Sites.

    How exactly are these library steps run? In what context? For example, are the files from the Nuget package already extracted somewhere? Is the script transferred to the tentacle to do the deployment?

    Thanks

  29. 29 Posted by Vanessa Love on 15 Jul, 2014 06:25 AM

    Vanessa Love's Avatar

    Hi Brian,

    Thanks for getting in touch!
    Like all of our package steps, we extract them to a location do some stuff then move them to a final location (if desired).
    The MS Deploy template is no different, you define the previous step name so it knows where to go and grab the files from.
    The package step itself is quite powerful, as you can run PowerShell scripts, transforms and variable replacements before we move the files to their final location, so this step template is no different it's just transferring the files to an Azure website instead after the package step runs.

    Hope this helps!
    Vanessa

  30. 30 Posted by mchlsync on 09 Aug, 2014 04:08 PM

    mchlsync's Avatar

    I totally agreed with Brian Vallelunga. I dont think it has to be that complicated. Why can't we just have a nuget package name that we want to deploy and other info that required by MS deploy? The only thing that is missing in that new template is that the package information instead of "#{WebDeployPackageStepName}" .. If you look at the FTP template, there is a section where you can specify the nuget link and package name. It would be helpful if this section includes in new template for MS deploy.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac