Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

newsapps-deploy

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

newsapps-deploy

A collection of awscli-powered deploy scripts that can be easily reused.

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

newsapps-deploy

A collection of awscli-powered deploy scripts that can be easily reused.

Requirements

  • node.js >= 0.10 or io.js
  • Python 2.6.5+

Installation

npm install --save-dev newsapps-deploy

Usage

newsapps-deploy depends on a file to pass in configuration. By default, it looks for config.json — but you are welcome to point it elsewhere via --config.

Usage: newsapps-deploy [COMMAND] [--config=PATH] [--dry-run] [--gzip] [--
production]

Commands:
  deploy  Deploy the project to S3
  push    Push assets to S3
  pull    Pull assets from S3

Options:
  -c, --config      The path to the config file         [default: "config.json"]
  -g, --gzip        Pushes code to your specified bucket with predefined HTTP
                    cache headers                                      [boolean]
  -p, --production  Push code to the production bucket (defaults to development)
                                                                       [boolean]
  -d, --dry-run     Print the commands instead of running them (good for
                    checking things out)                               [boolean]
  -h, --help        Show help                                          [boolean]

config.json should contain an object with a deployment key with the following fields:

{
  "deployment": {
    "dev_s3_bucket": "notarealbucket.texastribune.org",
    "prod_s3_bucket": "graphics.texastribune.org",
    "path": "graphics",
    "slug": "corgis-vs-red-pandas",
    "aws_profile": "newsapps",
    "dist_folder": "dist",
    "assets_folder": "app/assets"
  }
}

Field definitions

dev_s3_bucket

Push test deploys to this bucket

prod_s3_bucket

Push production deploys to this bucket

path

The path to the folder where code should be pushed.

slug

The slug of the folder (located in path) where code should be pushed.

aws_profile

The AWS credential to use for deployment. If empty, nothing will be passed to awscli via --profile.

dist_folder

The folder that should be pushed up to S3. This should be your content ready for deploy.

assets_folder

The folder where raw assets are located — typically app/assets.

Default cache headers

The assumpion is that the .css and .js are being revisioned. If --gzip is passed, the following files will be assumed to be gzipped:

.html
.css
.js
.json

.css and .js are set to expire in 1 year. Images — .jpg, .png, .svg, and .gif — are set to expire in 1 day. .json files will expire in 1 hour. .html have no set expiration.

Wait – this depends on a Python library?

There is a library for AWS written in node.js called aws-sdk. However, multiple parts of our workflow already generous depend on awscli — to the point it can be assumed that it's already installed and configured.

Also — aws-sdk has no command line interface built in. Any tasks we need to accomplish would have to be written ourselves. Why reinvent the wheel? ¯_(ツ)_/¯

Keywords

aws

FAQs

Package last updated on 19 Jun 2015

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