Create a web app and deploy code from a local Git repository
This sample script creates a web app in App Service with its related resources, and then deploys your web app code from a local Git repository.
If needed, update to the latest Azure PowerShell using the instruction found in the Azure PowerShell guide, and then run Connect-AzAccount
to create a connection with Azure. Also, your application code needs to be committed into a local Git repository.
Sample script
Note
We recommend that you use the Azure Az PowerShell module to interact with Azure. To get started, see Install Azure PowerShell. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.
$gitdirectory="<Replace with path to local Git repo>"
$webappname="mywebapp$(Get-Random)"
cd $gitdirectory
# Create a web app and set up Git deployement.
New-AzWebApp -Name $webappname
# Configure GitHub deployment from your GitHub repo and deploy once.
$PropertiesObject = @{
scmType = "LocalGit";
}
Set-AzResource -Properties $PropertiesObject -ResourceGroupName $webappname `
-ResourceType Microsoft.Web/sites/config -ResourceName $webappname/web `
-ApiVersion 2015-08-01 -Force
# Get publishing profile for the web app
$xml = [xml](Get-AzWebAppPublishingProfile -Name $webappname `
-ResourceGroupName $webappname `
-OutputFile null)
# Extract connection information from publishing profile
$username = $xml.SelectNodes("//publishProfile[@publishMethod=`"MSDeploy`"]/@userName").value
$password = $xml.SelectNodes("//publishProfile[@publishMethod=`"MSDeploy`"]/@userPWD").value
# Set git remote
git remote add azure https://${username}:$password@$webappname.scm.azurewebsites.net:443/$webappname.git
# Push your code to the new Azure remote
git push azure master
Clean up deployment
After the script sample has been run, the following command can be used to remove the resource group, web app, and all related resources.
Remove-AzResourceGroup -Name $webappname -Force
Script explanation
This script uses the following commands. Each command in the table links to command specific documentation.
Command | Notes |
---|---|
New-AzWebApp | Creates a web app with necessary resource group and App Service group. When the current directory contains a Git repository, also add an azure remote. |
Set-AzResource | Modifies a resource in a resource group. |
Get-AzWebAppPublishingProfile | Get a web app's publishing profile. |
Next steps
For more information on the Azure PowerShell module, see Azure PowerShell documentation.
Additional Azure PowerShell samples for Azure App Service Web Apps can be found in the Azure PowerShell samples.