beanstalkify
TypeScript icon, indicating that this package has built-in type declarations

3.0.1 • Public • Published

AWS Elastic Beanstalk automation. This is the node version of Ruby Beanstalkify

Build Status Coverage Status

Prerequisites

  • Node.js: Requires Node.js version 18 or higher. Make sure to have the appropriate version installed before using Beanstalkify.
node --version
  • ts-node: Necessary for running the acceptance tests. Ensure you have ts-node installed globally or as a development dependency.
npm install -g ts-node

OR

npm install ts-node --save-dev

Install

npm install beanstalkify

Usage

import Beanstalkify from 'beanstalkify';

const beanstalkify = new Beanstalkify({
  credentials: {
    accessKeyId: 'YOUR_ACCESS_KEY',
    secretAccessKey: 'YOUR_SECRET_KEY'
  },
  region: 'ap-southeast-2'
});

// Deploy configuration
const deployConfig = {
  archiveFilePath: 'PATH_TO_YOUR_ZIP_FILE',
  environmentName: 'YOUR_ENVIRONMENT_NAME',
  awsStackName: '64bit Amazon Linux 2023 v6.0.1 running Node.js 18',
  tags: [
    {
      Key: 'YOUR_TAG_KEY',
      Value: 'YOUR_TAG_VALUE'
    },
    // ... additional tags as needed
  ]
};

// Deploy using async/await
async function deployApp() {
  try {
    const data = await beanstalkify.deploy(deployConfig);
    /*
    Outputs:
    {
      appName: 'test-website',
      appVersion: 'foo',
      envName: 'test-website-prod',
      envUrl: 'tech-website-12345.ap-southeast-2.elasticbeanstalk.com'
    }
    */
    console.log(data);
  } catch (error) {
    console.error('Error during deployment:', error);
  }
}

deployApp();

Unit test

npm run test

Acceptance test

  • Create credentials.json within folder acceptance
{
  "credentials": {
    "accessKeyId": "XXX",
    "secretAccessKey": "XXX"
  },
  "region": "ap-southeast-2"
}
  • Run ts-node acceptance/index.ts
  • It should create automatically two random elasticbeanstalk environments

Change Log

This project adheres to Semantic Versioning. Every release, along with the migration instructions, is documented on the Github Releases page.

Contributors

liamqma lucascanavan Maxwell2022 joshhunt

Readme

Keywords

none

Package Sidebar

Install

npm i beanstalkify

Weekly Downloads

71

Version

3.0.1

License

ISC

Unpacked Size

29 kB

Total Files

14

Last publish

Collaborators

  • liamqma