TIP
💡 Learn more : Azure Command-Line Interface (CLI) (opens new window).
📺 Watch the video : How to deploy an Azure Web App using only the CLI tool (opens new window).
# Deploy an Azure Web App using only the CLI
While I love working with the Azure Portal or even Visual Studio, it is sometimes nice to do everything from the command line. While I'm a power Windows user, in this tutorial I'll be using a Linux VM and BASH to do everything.
Step 1) Ensure you have the following stack installed.
*This will give us a full web development stack we can work with in the future. *
mbcrump@crumplinux:~$ git --version
git version 2.7.4
mbcrump@crumplinux:~$ nodejs --version
v4.2.6
mbcrump@crumplinux:~$ npm --version
3.5.2
mbcrump@crumplinux:~$ gulp --version
[20:05:28] CLI version 1.4.0
[20:05:28] Local version 3.9.1
mbcrump@crumplinux:~$ mongod --version
db version v2.6.10
2017-09-20T20:11:43.087+0000 git version: nogitversion
2017-09-20T20:11:43.095+0000 OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
2
3
4
5
6
7
8
9
10
11
12
13
I'm particularly interested in the MEAN.JS (opens new window) stack.
What is MEAN.JS? MEAN.JS is a Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js -
Step 2) Create a folder such as webapp
and then cd webapp
.
Step 3) Run the following command git clone https://github.com/crpietschmann/jsQuizEngine.git
. This is a JavaScript based quiz engine by Chris Pietschmann (opens new window).
Step 4) Change your working directory to jsQuizEngine/src
and now we'll need to create a deployment user that can deploy web app through Git.
az webapp deployment user set --user-name mbcrump --password AREALLYLONGPW
Name PublishingUserName
------ --------------------
web mbcrump
2
3
Step 5) We'll need a resource group. I'm going to put mine in the West US.
az group create --name StaticResourceGroup --location "West US"
Location Name
---------- -------------------
westus StaticResourceGroup
2
3
Step 6) We'll also need an Azure App Service Plan. I'll use the free one for this example.
az appservice plan create --name StaticAppServicePlan --resource-group StaticResourceGroup --sku FREE
AppServicePlanName GeoRegion Kind Location MaximumNumberOfWorkers Name ProvisioningState ResourceGroup Status Subscription
-------------------- ----------- ------ ---------- ------------------------ -------------------- ------------------- ------------------- -------- ------------------------------------
StaticAppServicePlan West US app West US 1 StaticAppServicePlan Succeeded StaticResourceGroup Ready d1ecc7ac-c1d8-40dc-97d6-2507597e7404
2
3
Step 7) We'll create an Azure Web App and deploy it using local Git.
az webapp create --name MyQuizApplication --resource-group StaticResourceGroup --plan StaticAppServicePlan --deployment-local-git
You should see in the output Local git is configured with url of 'https://mbcrump@myquizapplication.scm.azurewebsites.net/MyQuizApplication.git'
Copy and paste this to your editor of choice.
Step 8) We'll need to add azure to our local Git repo.
git remote add azure https://mbcrump@myquizapplication.scm.azurewebsites.net/MyQuizApplication.git
Step 9) Push the changes.
git push azure master
Step 10) Nice! We can now browse to our new site (opens new window).