Skip to content

metaps/genova

Repository files navigation

genova

CircleCI Maintainability Test Coverage MIT License

Description

genova provides the ability to deploy and manage applications to Amazon ECS.

Overview

genova can deploy services on ECS clusters, perform standalone tasks, and execute scheduled tasks.

Features

genova has the following features.

  • YAML-based task definitions
  • Various deployment methods
    • Command Line Deploy
    • Slack
    • GitHub Actions
    • GitHub Webhooks
  • Provides a web console to manage deployment status

How Deployment Works

genova requires you to build and run a server in your local environment or in an AWS environment. When a deployment is requested, the following steps will be taken to deploy the application.

  1. Acquire the repository to be deployed.
  2. Obtain the Dockerfile and the deployment configuration file (config/deploy.yml) in the repository.
  3. Build the Dockerfile based on the deployment configuration file.
  4. Push the created image to AWS ECR.
  5. Define tasks based on the task definition file (config/deploy/xxx.yml).
  6. Register the created task definitions to Amazon ECS.
  7. Update the service or scheduled task. if it is a Run task, execute the task.

The AWS resources (services and scheduled tasks) to be deployed must be created in advance.

More detailed documentation

See the Wiki.