Automated deployment to Azure Emulator?
Asked Answered
N

1

6

How can I automate a deployment to Azure Compute Emulator?

We're going down the path of setting up internal QA environments to "host" our Azure apps for testing and have decided to try to do this via the Azure Compute Emulator. (For now, we're using Azure storage (online) for these environments but we may later decide to host the storage components locally as well. But that's another question for another time.)

I see some great tools to automate deployment to online Azure, such as Windows Azure Platform PowerShell Cmdlets and even some paid options that sound great. However, I see absolutely nobody talking about internal hosting of these for QA purposes. I realize one obvious option is to host the functionality in a shell project locally (such as a Windows service for a Worker Role) while deploying the Azure project online, but we're choosing to go down the route of the Azure Emulator.

As such, how do we automate deployment to the Emulator? VS2010 clearly can deploy to it, so it must be possible.

P.S. We're using TeamCity for now but that may change. That shouldn't really matter, though. I want this deployment to be largely script-based so we can use any build software.

Neurath answered 26/8, 2011 at 20:16 Comment(0)
A
3

You'll want to use the CSRun command line tool that comes with the Azure SDK. Remember, though, that the emulator only listens to the localhost, so any testing efforts aimed at it need to originate on the same box, or you'll have to set up some port forwarding to fake it out.

Averroes answered 26/8, 2011 at 20:19 Comment(8)
Thanks for this information. That was a major missing piece, however, these commands seem to be useless in the context of installing to an Azure Emulator on a different machine. Is what I'm trying to do impossible? Clearly my build server isn't going to be my hosting server. I'd like to avoid having to figure out/setup/manage a "remote execution" scenario.Neurath
The Azure emulator is really a "local only" sort of system. You could use a tool to copy the cspkg and csdef files to the 'hosting' server, and then psexec or something similar to run CSRun on that server. You'll still have to deal with the fact that the emulator doesn't listen on the public IPs of the machine, but it's definitely doable.Averroes
I thought the emulator for web roles listened to port 80 if nothing else was on it? #4471260Neurath
It does listen on port 80, but only on 127.0.0.1, not on any other IPs that the box may have configured.Averroes
Is this the case with the Storage Emulator as well? I think we can get by hosting web roles in IIS, and our worker roles don't need to listen to external ports (just monitor queues). That said, can we host queues/tables/blobs in the Storage Emulator remotely and still access them? Please don't say no.Neurath
Oh, wait, I think I have a functional story for a "complete" test environment for us! I'm flagging this question as answered but will appreciate your feedback on a follow-up different question. I'll come back here to link to it. Thanks!!Neurath
I would appreciate your feedback on this follow-up question: #7224641Neurath
Here is the article how to setup port forwarding, using PassPort: cloud.dzone.com/articles/how-remotely-access-windowsNuncio

© 2022 - 2024 — McMap. All rights reserved.