Continuous Deployment to Azure WebSite from BitBucket, CodePlex, Dropbox, GitHub, or Mercurial



  1. After your web site project has been pushed to a repository web site, in the Windows Azure Portal quick glance section, select Set up deployment from source control. The Set Up Deployment dialogappears that asks Where is your source code?.

  2. Choose the source control method that you are using.

  3. When prompted, enter your credentials for the service you selected.

  4. After you have authorized Windows Azure to access your account, you will be prompted with a list of repositories.


  5. Select the repository that you want to associate with your Windows Azure web site. Click the checkmark to continue.


    When enabling continuous deployment with GitHub or BitBucket, both public and private projects will be displayed.

  6. Windows Azure will create an association with the selected repository, and will pull in the files from the master branch. After this process completes, the deployment history on the Deployments page will show an Active Deployment message like the following:


  7. At this point your project has been deployed from your repository of choice to your Windows Azure web site. To verify that the site is active, click the Browse link at the bottom of the portal. The browser should navigate to the web site.

  8. To verify that continuous deployment is occurring, make a change to your project and then push the update to the repository you have associated with this web site. Your web site should update to reflect the changes shortly after the push to the repository completes. You can verify that it has pulled in the update on the Deployments page of your Web Site.


How continuous deployment works

Continuous deployment works by providing the DEPLOYMENT TRIGGER URL found in the deploymentssection of your site’s Configure tab.


When updates are made to your repository, a POST request is sent to this URL, which notifies your Windows Azure Web Site that the repository has been updated. At this point it retrieves the update and deploys it to your web site.

Specifying the branch to use

When you enable continuous deployment, it will default to the master branch of the repository. If you want to use a different branch, perform the following steps:

  1. In the portal, select your web site and then select CONFIGURE.

  2. In the deployments section of the page, enter the branch you wish to use in the BRANCH TO DEPLOYfield, and then hit enter. Finally, click SAVE.

    Windows Azure should immediately begin updating based on changes to the new branch.

Gitflow–a Git Workflow designed around Project Release



The main branches

  • master
  • develop

Supporting branches

  • Feature-*

    May branch off from: develop
    Must merge back into: develop
    Branch naming convention: anything except master, develop,release-*, or hotfix-*

  • Release-*
    • May branch off from: develop
      Must merge back into: develop and master
      Branch naming convention: release-*

  • Hotfix-*
    • May branch off from: master
      Must merge back into: develop and master
      Branch naming convention: hotfix-*


    Git Workflows Tutorial by Atlassian


    1. Centralized Workflow

    If your developers are already comfortable with Subversion, the Centralized Workflow lets you experience the benefits of Git without having to adapt to an entirely new process. It also serves as a friendly transition into more Git-oriented workflows.

    Learn more»


    2. Feature Branch Workflow

    The Feature Branch Workflow builds on the Centralized Workflow by encapsulating new features into dedicated branches. This enables the use of pull requests as a means to discuss changes before they’re integrated into the official project.

    Learn more»


    3. Gitflow Workflow

    The Gitflow Workflow streamlines the release cycle by using isolated branches for feature development, release preparation, and maintenance. Its strict branching model also lends some much needed structure to larger projects.

    Learn more»


    4. Forking Workflow

    The Forking Workflow is a distributed workflow that takes full advantage of Git’s branching and cloning capabilities. It provides a safe, reliable way to manage large teams of developers and to accept commits from untrusted contributors.

    Learn more»


    Git Tutorial by Atlassian


    1. Git Basics

    If you’ve never used Git before, this is the place to start. The Git Basics tutorial shows you how to configure your Git installation, set up a new repository, and use the fundamental Git workflow to record revisions of your project.

    Learn more»

    2. Undoing Changes

    Being able to record the history of a software project is useless without the ability to restore old revisions. This tutorial covers how to view old commits, revert the changes they contain, and reset uncommitted changes.

    Learn more»

    3. Git Branches

    Branches are a safe, reliable way to work on multiple versions of a project within a single repository. This tutorial discusses the differences between Git’s branching model and SVN’s, and shows you how to create, view, and merge independent lines of development.

    Learn more»

    4. Rewriting Git History

    Git affords a lot of flexibility when it comes to rewriting your project history, and this can lead to some dangerous situations. In this tutorial, we’ll learn how to clean up old commits without losing snapshots or destroying Git’s collaboration workflow.

    Learn More»

    5. Remote Repositories

    Git’s ability to communicate with remote repositories is the foundation of every Git-based collaboration workflow. This tutorial covers the fundamental commands for moving commits between repositories.

    Learn more»

    Azure – How to Use Service Bus Queues


    You will learn how to

    • Configure the Application to Use Service Bus
    • How to Create a Queue
    • How to Send Messages to a Queue
    • How to Receive Messages from a Queue
    • How to Handle Application Crashes and Unreadable Messages

    Now that you’ve learned the basics of Service Bus queues, follow these links to learn more.

    The Windows Azure Service Bus provides two comprehensive messaging solutions – one, through a centralized “relay” service running in the cloud that supports a variety of different transport protocols and Web services standards, including SOAP, WS-*, and REST. The client does not need a direct connection to the on-premises service nor does it need to know where the service resides, and the on-premises service does not need any inbound ports open on the firewall.

    The second messaging solution, new in the latest release of the Service Bus, enables “brokered” messaging capabilities. These can be thought of as asynchronous, or decoupled messaging features that support publish-subscribe, temporal decoupling, and load balancing scenarios using the Service Bus messaging infrastructure. Decoupled communication has many advantages; for example, clients and servers can connect as needed and perform their operations in an asynchronous fashion.