ft-interactive/ft-graphics-deploy

Name: ft-graphics-deploy

Owner: FT Interactive News

Description: CLI for deploying static FT Graphics projects to S3. Primarily for use in CI.

Created: 2017-02-02 11:47:34.0

Updated: 2017-05-19 20:39:58.0

Pushed: 2018-01-15 18:09:30.0

Homepage: null

Size: 249

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

ft-graphics-deploy Build Status npm

CLI for deploying built static websites to an S3 bucket.

How to use

Requires Node 7.10 or higher.

Command line usage
-graphics-deploy --help

I for deploying FT Graphics projects

ft-graphics-deploy [FLAGS...]
??????????????????????????????????????????????????????????????????
l flags are optional when this command is run from a typical FT
aphics project repo in CI.
??????????????????????????????????????????????????????????????????
ult settings
 not provided these will be inferred from environment variables following
ch flag.
vault-endpoint ($VAULT_ENDPOINT)
vault-role ($VAULT_ROLE)
vault-secret ($VAULT_SECRET)
vault-secret-path ($VAULT_SECRET_PATH)

S settings (Deprecated for FT projects ? use Vault instead)
 not provided, these settings are taken from env vars
AWS_KEY_PROD", "AWS_SECRET_PROD", etc.)
--aws-key
--aws-secret
--aws-region
--bucket-name

load settings
 not provided, these are deduced from the git status in the CWD.
--project-name
--sha - unique reference for this commit
--branch-name - name of the branch you are deploying
--local-dir - what to upload; defaults to ./dist
--preview - upload files to preview folder
--assets-prefix - base for asset URLs; affects the rev-manifest and all
                  HTML/CSS files

her
--help - show this help and exit
--get-branch-url - instead of deploying, just print the URL it would deploy to
--get-commit-url - as above, but get the commit-specific URL
--confirm - skip the confirmation dialogue when deploying
JavaScript API

The most straightforward way:

rt deploy from 'ft-graphics-deploy';

oy(options).then(baseURLs => {
nsole.log('uploaded to:', baseURLs);

For more fine-grained control:

rt { Deployer } from 'ft-graphics-deploy';

t deployer = new Deployer(options);

oyer.execute().then(baseURLs => {
nsole.log('uploaded to:', baseURLs);

The JavaScript API does not do any git-sniffing or use any environment variables to configure the deployment ? you must pass in all required options manually. See the Deployer class source for the full options.

Development

Clone this repo and run yarn to install dependencies.

Add a .env file that defines AWS_KEY_DEV, AWS_SECRET_DEV, AWS_REGION_DEV and BUCKET_NAME_DEV. (These are used in tests.)

Run yarn build -- --watch and yarn test -- --watch in separate terminal tabs while developing. (The first one watches src and builds to dist. The second one runs ava tests in dist.)

Publishing a new version to npm

CircleCI will do the rest.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.