eb-deploy-cli

A very simple AWS Elastic Beanstalk deployment CLI

Usage no npm install needed!

<script type="module">
  import ebDeployCli from 'https://cdn.skypack.dev/eb-deploy-cli';
</script>

README

eb-deploy-cli

eb-deploy-cli

A very simple AWS Elastic Beanstalk deployment CLI

GitHub release CircleCI license


eb-deploy-cli is a command line utility for Node.js that helps you helps you upload and deploy new application versions for AWS Elastic Beanstalk applications.

Because this CLI requires AWS credentials, it is highly recommended that you view the source code to ensure that your tokens are safe and sound.


Table of Contents

Features

  • Focused CLI for uploading and deploying to Elastic Beanstalk
  • Absurdly simple deployments in your CI pipeline
  • Easy-to-read source code you can trust
  • Runs on Node.js v8+

Documentation

Installation

Install as a devDependency:

npm install -D eb-deploy-cli

Usage

Run the command:

./node_modules/.bin/eb-deploy \
  --source="./my-app.zip" \
  --label="v1.0.0" \
  --accessKeyId="XXXXXXXXXX" \
  --secretAccessKey="XXXXXXXXXX" \
  --region="us-east-1" \
  --bucket="my-s3-bucket" \
  --applicationName="my-app" \
  --environmentName="staging"

For continuous integration environments, you'll probably want to use environment variables for parts of your configuration. This might look something like:

# Read the version from package.json
PACKAGE_VERSION=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' | tr -d '[[:space:]]')

# Deploy the new version
./node_modules/.bin/eb-deploy \
  --source="./my-app.zip" \
  --label="v$PACKAGE_VERSION" \
  --accessKeyId="$AWS_ACCESS_KEY_ID" \
  --secretAccessKey="$AWS_SECRET_ACCESS_KEY" \
  --region="us-east-1" \
  --bucket="my-s3-bucket" \
  --applicationName="my-app" \
  --environmentName="staging"

Note: There are no default values for any arguments.

Contributing

Linting

Run ESLint with npm run lint.

Credits

Icon made by Eucalyp from www.flaticon.com is licensed by CC 3.0 BY