Intranoggin

Blither, Blather, Web Content Management.
Blog » Alexa on Azure: Part 8–Functions Release Management Redux

Alexa on Azure: Part 8–Functions Release Management Redux

I did some more work over time and i wanted to bring you up to date on my current flow of code from development to production. The articles I posted on 2-7-2017 and 3-9-2017 will still work for synchronizing code between GitHub and VSTS and for deploying function code to Azure, but I’ve gone a bit further and made the process a little more robust.

Here’s a diagram of what I’m doing:

Flow Diagram

Since I’m not actively collaborating with other developers at this time, having the code immediately deploy to the staging environment when I push it to GitHub is fine. If I was working with a small team, or in an Enterprise environment, I’d introduce another Integration branch on VSTS and an Integration environment in Azure. I’d then inject it into the above process where the Staging items sit now and bump the staging items down.

Here’s the quick directions on setting it up. For any missing details, check back with the two articles I mentioned earlier.

Start by creating your branches in VSTS – I have Master and Staging, set up as described in the article above.

I’ve got 3 build definitions.

  • GitHub to Staging Code Sync – uses GitHub web hooks to trigger a sync to the staging branch in VSTS every time the Master branch is updated in GitHub
  • Deploy Staging – is triggered every time the VSTS staging branch is updated. Deploys code to Azure staging environment
  • Production Deploy – is triggered every time the VSTS Master branch is updated. Deploys code to Azure production environment.

Build Definitions

GitHub to Staging Code Sync in pictures.

GitHub to Staging Code Sync

Pull from VSTS

Pull from GitHub

Push to VSTS

Push to GitHub

Repository Settings

Variables Settings

Triggers Settings

Deploy Staging In Pictures

DeployStaging

Archive Files

Publish Artifact

Azure App Service Deploy

Repository Settings

Variables Setting

Triggers Settings

Production Deploy in Pictures

Production Deploy

Archive Files

Publish Artifact

Azure App Service Deploy

Repository Setting

Variable Settings

Trigger Settings


Posted: 4/6/2017 7:00:00 AM by Ryan Miller | with 0 comments