Skip to content

Configure staging and production environments with GitHub Actions and AWS Lambda #7

Description

@McCarthyCode

Currently, production code is manually tested and deployed via an AWS EC2 container, in "cowboy coding" style — there is no clear structure or reliable method of staging changes for deployment. Rather, the current process is simply pulling from each experimental issue branch, running docker compose down && docker compose up -d, and hoping things work. It's time to disjoin this staging behavior from production, and deploy in a better-structured manner.

This will involve:

  1. Building release images outside of production — not on a live EC2 instance — with each release
  2. Decoupling from EC2 — the ethereal workflow being proposed here is better suited for a serverless architecture (i.e. AWS Lambda)
  3. Designing and launching an actual test suite for DevOps — feature tests are out of scope for this issue, but will be required soon
  4. Writing a GitHub Actions YAML to define a pipeline that implements AWS Lambda instances to test each PR
  5. Clearly defining environment variable definitions for DEVELOPMENT, STAGING, and PRODUCTION stages
  6. Adhering to SDLC best-practices every step of the way

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions