Here's how I got Ghost running on Azure from my own GitHub repo with a custom theme.

First, shout out to Steven Niemitz for his BlogML2Ghost solution which allowed me to port my BlogEngine.Net instance to Ghost.

Once I knew that I could port all the content, I deployed Ghost on Azure by creating a new app service and walking through the UI steps to create a new Ghost deployment. Behind the scenes, what was happening was that a GitHub repo (https://github.com/AzureWebApps/Ghost-Azure) was being deployed.

Once it was deployed, I realized it was running at on a pretty beefy instance, and not the free instance. First thing I did was move it to the free instance.

I then forked the Azure Ghost repo to my own repo here: https://github.com/rhizohm/Ghost-Azure so that I could make mods and deploy. I then updated the deployment options in the Azure portal to point to my forked repo:

And, with that, every time I update the repo, a deployment kicks off to Azure. I grabbed another theme called Beautiful Ghost which I also forked and put it in the themes directory so I could mod it an update my deployment.

Of course, I had to change the CNAME to point to the new Azure website. I then had to change the pricing model to one that allowed custom domain names.