Project DescriptionExperimental rapid deployment framework for Windows Azure
Quick StartOK, not so quick at the moment...
- Get latest from source and build (one-time)
- get latest from wonderland/Main
- open Source/CodePlex.Wonderland.Azure solution
- build solution
- Setup local publisher environment (one-time)
- create local folder to serve as the master repository folder, e.g.c:\wonderland\machines
- choose an machine identity for your azure instance, e.g.machine1
- create local subfolder to serve as the master application folder for your new machine, e.g.c:\wonderland\machines\machine1
- set system environment variable WLLOCAL to your master repository folder. e.g. c:\wonderland\machines
- set system environment variable AZURE to your azure credentials in the format accountname:primaryaccesskey:secondaryaccesskey, e.g. bob:3LIJ9NNI==:UUJ8820J8==
- set system environment variable WLREPO to point to a spot inside blob storage to server as your master remote repository folder in the format AZURE:containername:blobprefix, e.g. AZURE:mycontainer:wonderland/machines/
- set system environment variable WLMACHINE to the machine identity you chose, e.g. machine1
- Deploy the host project to Windows Azure (one-time)
- right-click on CodePlex.Wonderland.CloudService -> Publish...
- publish the package to your Azure staging instance
- create a cscfg with your private credentials, fill out at least AZURE, WLMACHINE and WLREPO values to the same values you set in the previous step
- use this cscfg as the configuration for your Azure deployment
- publish and start your Azure instance (go and get a cup of coffee)
- do not hit the web server just yet
Everything from this point forward can be done on xp if necessary...
- Create sample application
- create a new .net class library project, reference CodePlex.Wonderland.dll built in the first step
- create a class called MyFirstFilter inheriting from WebFilter, implement the required Process method (write something out to the http response)
- override the optional IsFlushRequest and implement. e.g. return true when request.CurrentExecutionFilePath == "/flush"
- build the dll and copy it into an application subfolder under the machine folder from step 2, e.g. e.g.c:\wonderland\machines\machine1\MyApp
- Publish your local repository to your remote repository
- set CodePlex.Wonderland.Publisher.ConsoleApp as the startup project, and run
- this should sync your local repository folder with the remote repository
- the remote repository serves as the source for the azure deployment
- Test your sample application on Windows Azure
- hit the web server, and the host should download and run your sample application from the remote repository
- Iterate using Azure (rapid)
- update your sample app filter, copy the new dll over the old dll in the local application subfolder
- republish your local repo to the remote repo, run CodePlex.Wonderland.Publisher.ConsoleApp
- hit the azure flush path specified above, e.g. http://2348u2348.cloudapp.net/flush
- the host should download and run your updated sample application from the remote repository
- or -
- Iterate using local web project (super-rapid)
- startup the CodePlex.Wonderland.CloudService.WebRole project, using the local asp.net dev server
- update your sample app filter, copy the new dll over the old dll in the local application subfolder
- hit the local flush path specified above, e.g. http://localhost:63797/flush
- the local host will simply use your local repo