Give your Azure Website a tune up to run any node or npm version
Give your Node Azure Website a tuneup by choosing any node or npm version. Tuneup will download the selected versions dynamically during deployment.
- Very easy to use.
- Supports both new and existing Azure Websites.
- Supports ANY available node or npm version.
- Can be configured through package.json or via app settings in the portal / cli.
npm install tuneup -g
- In the root folder of your app that you will deploy, run tuneup:
- Create your website i.e.
azure site create --git
- Add all files for your project i.e.
git add .
- Select your node / npm version (see version selection below)
- Commit your files
git commit -am "first commit"
- Push to Azure
git push azure master.
- The first time you push you will notice it installs [nodist] (https://github.com/marcelklehr/nodist), a node version manager for windows.
- After the initial install it will then download the specified node/npm version.
- On successive pushes it will not download newer versions unless you update the selected versions.
Note: For npm future deployments will be much faster if you specify a specific version rather than using a semver i.e. "1.8.x".
Several options are available for specifying your selected node and npm version.
By default when you run tuneup it will update your package.json (or create one it it does not exist) with an engines entry containing a default node and npm version.
"engines":"node": "0.10.15""npm": "1.3.5"
You can override the default by using the --node and --npm parameters. See `tuneup --help' for more.
In order to update the version, you can modify package.json and push again to git. Before doing that first do an `azure site restart' in your app folder to ensure that
You can set specify versions in the Windows Azure portal by adding the settings NODE_VERSION and NPM_VERSION on the configure tab as show below.
Make sure you click "Save" on the bottom to have the settings change take effect.
If the app is already deployed, you can make the version change take effect immediately within the portal by redeploying your last deployment. To do that head to the "Deployments" tab, select your most recent deployment and then click "Redeploy" on the bottom.
Check the logs after deployment is completed to see if any errors occured.
If you are using the azure-cli, you can also select a version and apply from the shell using
azure site config
azure site config add NODE_VERSION=0.10.xazure site config add NPM_VERSION=1.2.x
Next to apply the changes redeploy your app. First list the deployments.
azure site deployment list
The output will be as follows listing each commit that has been deployed.
info: Executing command site deployment list+ Enumerating deploymentsdata: Time Commit id Status Author Messagedata: ------------------- ---------- ------- ----------- ------------data: 2013-05-12 23:37:49 f925d413dc Active Glenn Block updateddata: 2013-05-12 23:23:42 9c5bf8ec17 Success Glenn Block updated
Next redeploy the last commit.
azure site deployment redeploy f925d413dc
Which will give you a result similar to the following.
info: Executing command site deployment redeployWeb site name: gbnodeverReploy deployment with f925d413dc id? (y/n) y+ Redeploying deployment+ Enumerating deploymentsdata: Time Commit id Status Author Messagedata: ------------------- ---------- ------- ----------- ------------data: 2013-05-13 00:53:57 f925d413dc Active Glenn Block updateddata: 2013-05-12 23:23:42 9c5bf8ec17 Success Glenn Block updatedinfo: site deployment redeploy command OK
Regardless of which method you use, when you deploy, the selected npm version and node version will be used.
If you check your app, you should see that it will be running the selected node version.
- Nodist takes up about 10 meg
- Each node version that is installed takes up approx 5 meg of storage.
- npm takes up about 25 megs total (including it's dependencies).
Apache 2: http://www.apache.org/licenses/LICENSE-2.0.html