Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/justinsisley/eb-deploy-cli

A very simple AWS Elastic Beanstalk deployment CLI
https://github.com/justinsisley/eb-deploy-cli

aws cli elasticbeanstalk nodejs

Last synced: 2 days ago
JSON representation

A very simple AWS Elastic Beanstalk deployment CLI

Awesome Lists containing this project

README

        


eb-deploy-cli


eb-deploy-cli


A very simple AWS Elastic Beanstalk deployment CLI


GitHub release license

---

__eb-deploy-cli__ is a command line utility for [Node.js](https://nodejs.org/) that helps you helps you upload and deploy new application versions for [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/) applications.

Because this CLI requires AWS credentials, it is highly recommended that you [view the source code](https://github.com/justinsisley/eb-deploy-cli/blob/master/index.js) to ensure that your tokens are safe and sound.

---

# Table of Contents

- [Features](#features)
- [Documentation](#documentation)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [Linting](#linting)
- [Releases](https://github.com/justinsisley/eb-deploy-cli/blob/master/CHANGELOG.md)
- [Credits](#credits)

# 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_:

```bash
npm install -D eb-deploy-cli
```

## Usage

Run the command:

```bash
./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:

```bash
# 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