Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

deploy-azure-cdn

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deploy-azure-cdn

A package that copies files to Azure CDN. Can be used as gulp task.

  • 2.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.2K
decreased by-16.65%
Maintainers
1
Weekly downloads
 
Created
Source

deploy-azure-cdn

Build Status

A node package for uploading files to Azure Blob Storage. It is perfect for deploying compiled assets to Microsoft Azure CDN as a last step in a Continuous Integration setup.

Features

  • Ability to execute a "dry run" of deployment. The logging will indicate all files that will be deleted or uploaded but no actual changes to the blob storage will be done
  • Ability to gzip content and set a proper content encoding. If gzipped file becomes larger than original then only the original file will be uploaded
  • Ability to recursively remove files in a path of Azure Blob Storage
  • Ability to control number of concurrent files to be uploaded to avoid network congestion
  • Grunt and gulp plugins available

Installing

npm install deploy-azure-cdn

Using

See __tests__ folder for all possible scenarios.

Deploying a set of files to a path in blob storage

var logger = console.log;
var files = [
    {cwd: 'node_modules/deploy-azure-cdn', path: '/Users/bestander/work/opensource/gulp-deploy-azure-cdn/node_modules/deploy-azure-cdn/index.js'},
    {cwd: 'node_modules/deploy-azure-cdn', path: '/Users/bestander/work/opensource/gulp-deploy-azure-cdn/node_modules/deploy-azure-cdn/LICENSE'},
    {cwd: 'node_modules/deploy-azure-cdn', path: '/Users/bestander/work/opensource/gulp-deploy-azure-cdn/node_modules/deploy-azure-cdn/package.json'}
];
var opts = {
    serviceOptions: ['blobstoragename', '/OwQ/MyLongSecretStringFromAzureConfigPanel'], // custom arguments to azure.createBlobService
    containerName: 'test', // container name in blob
    containerOptions: {publicAccessLevel: "blob"}, // container options
    folder: 'deploy/source', // path within container
    deleteExistingBlobs: true, // true means recursively deleting anything under folder
    concurrentUploadThreads: 2, // number of concurrent uploads, choose best for your network condition
    zip: true, // gzip files if they become smaller after zipping, content-encoding header will change if file is zipped
    filters: [new azure.ExponentialRetryPolicyFilter()], 
    metadata: {cacheControl: 'public, max-age=31556926'}, // metadata for each uploaded file
    testRun: false // test run - means no blobs will be actually deleted or uploaded, see log messages for details
};
deploy(opts, files, logger, function(err){
    if(err) {
        console.log("Error deploying", err)
    }
    console.log('Job\'s done!');
});

Parameters

  • deployOptions - azure cdn and upload configs
    • serviceOptions: [] - custom arguments to azure.createBlobService, or you can use Azure SDK environment variables AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_ACCESS_KEY
    • containerName: null - container name, required
    • containerOptions: {publicAccessLevel: "blob"} - container options
    • folder: '', // path within container. Default is root directory of container
    • deleteExistingBlobs: true, // set it to false to skip recursive deleting blobs in folder
    • concurrentUploadThreads : 10, // number of concurrent uploads, choose best for your network condition
    • zip: false, // true if want to gzip the files before uploading. File will be zipped only if compressed file is smaller than original
    • filters: <azure.IFilter>[], // list of filters to apply to blob service.
    • metadata: {cacheControl: 'public, max-age=31556926'} // metadata for each uploaded file
    • testRun: false, // set to true if you just want to check connectivity and see deployment logs. No blobs will be removed or uplaoded.
  • files: [] - array of files objects to be deployed
    • path - absolute path of file
    • cwd - [deprecated] current working directory path. Now replaced by base
    • base - (optional) the base directory in which the file is located. The relative path of file to this directory is used as the destination path
      Note: if both base and cwd are missing, the file will be uploaded to the root of the CDN folder.
    • dest - (optional) if provided, file will be uploaded to this path on CDN. (relative to the folder). Useful for cases where you want to upload to a different path or file name.
  • logger - logger compatible with console.log(param1, param2...)
  • cb - node callback

Grunt and gulp plugins

See plugins as repositories:

TODO, contributions are welcome

  • use streams to upload encoded files

Keywords

FAQs

Package last updated on 04 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc