This repo contains a set of PowerShell commandlets for developers and administrators to deploy and manage Windows Azure applications. It includes the following:
- Cmdlets for developers to deploy both node.js and PHP applications.
- Cmdlets for IT Administrators to manage their Windows Azure environments. For documentation on how to build and deploy applications to Windows Azure please see the Windows Azure Developer Center.
- help node-dev - List node.js development cmdlets
- help php-dev - List PHP development cmdlets
- Get-AzurePublishSettingsFile - Downloads a Windows Azure publish profile to your local computer
- Import-AzurePublishSettingsFile - Imports the Publish Profile to enable publishing to Azure and managing hosted services
- New-AzureServiceProject - Creates scaffolding for a new service
- Add-AzureNodeWebRole - Creates scaffolding for a Node.js application using web role which will be hosted in the cloud via IIS
- Add-AzureNodeWorkerRole - Creates scaffolding for a Node.js application using worker role which will be hosted in the cloud via node.exe
- Add-AzurePHPWebRole - Creates scaffolding for a PHP application using web role which will be hosted in the cloud via IIS
- Add-AzurePHPWorkerRole - Creates scaffolding for a PHP application which will be hosted in the cloud via php.exe
- Start-AzureEmulator - Starts both the compute and storage emulators and executes the service
- Stop-AzureEmulator - Stops the compute emulator
- Publish-AzureServiceProject - Publish the current service to the cloud
- Set-AzureServiceProject - Configure service name, deployment location and storage account to use for publishing the service to the cloud
- Set-AzureServiceProjectRole - Configure role instance count
- Start-AzureService - Starts a hosted service.
- Stop-AzureService - Stops a hosted service
- Remove-AzureService - Removes a hosted service
- Get-AzureStorageAccount - Displays storage account details for the current Azure subscription.
- Get-AzureStorageKey - Displays storage account keys for the specified storage account name.
- Enable-AzureServiceProjectRemoteDesktop - Enables remote desktop access to a hosted service
- Disable-AzureServiceProjectRemoteDesktop - Disables remote desktop access to a hosted service
For comprehensive documentation on the developer cmdlets see here.
For comprehensive documentation on the full set of Windows Azure cmdlets see Windows Azure Management Center.
Help
Configure machines for publishing to the cloud.
Create services and roles that are preconfigured to use Node.js.
Debug your applications in the local compute and storage emulators
Publish your service to the cloud and configure publish settings
Manage your hosted services
To get the source code of the SDK via git just type:
git clone https://github.com/WindowsAzure/azure-sdk-tools.git
cd ./azure-sdk-tools
- Windows Azure SDK
- Windows PowerShell 2.0
- WiX (Only needed if you want to build the setup project)
- Create a folder inside your user's Documents folder and name it WindowsPowerShell
- Inside that folder create a file called Microsoft.PowerShell_profile.ps1
- Edit the file in a text editor and add the following contents
Import-Module
PATH_TO_AZURE-SDK-TOOLS_CLONE\Package\Release\Microsoft.WindowsAzure.Management.psd1 - After you build the commandlets project, you can then open a PowerShell window and you should be able to use the commandlets. Please note that if you want to rebuild the project, you have close the PowerShell window, and then reopen it.
- First, create an Azure hosted service called HelloWorld by typing
New-AzureServiceProject HelloWorld
- Inside the HelloWorld folder, add a new Web Role by typing
Add-AzureNodeWebRole or Add-AzurePHPWebRole
- Test out the application in the local emulator by typing
Start-AzureEmulator -Launch
- You are now ready to publish to the cloud service. Go ahead and register for a Windows Azure account and make sure you have your credentials handy.
- Get your account's publish settings and save them to a file
Get-AzurePublishSettingsFile
- Now import the settings
Import-AzurePublishSettingsFile PATH_TO_PUBLISH_SETTINGS_FILE
- You are now ready to publish to the cloud. Make sure you specify a
unique name for your application to ensure there aren't any conflicts during
the publish process
Publish-AzureServiceProject -ServiceName UNIQUE_NAME -Launch
Be sure to check out the Windows Azure Developer Forums on Stack Overflow if you have trouble with the provided code.
If you would like to become an active contributor to this project please follow the instructions provided in Windows Azure Projects Contribution Guidelines.
If you encounter any bugs with the library please file an issue in the Issues section of the project.