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
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
CLI for deploying built static websites to an S3 bucket.
Requires Node 7.10 or higher.
-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
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.
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
.)
git checkout master
npm version patch
(or replace patch
with minor
or major
as appropriate)git push && git push --tags
CircleCI will do the rest.