Giter Club home page Giter Club logo

bb_list's Introduction

BB_List

  • A demonstration of how to use Github Actions to deploy a nodejs App to Digital Ocean. This implemenation focuses on running your integration tests, when they pass and are merged into the main branch, github actions communicates with digital ocean via ssh, pulls the updated change into your digital ocean droplets and installs the neccessary dependencies needed to run your app. This implementation focused on using two digital ocean droplets

Technologies

  • Github Actions
  • Digital Ocean Droplets
  • Node JS 14.x
  • PostgreSQL 11
  • Bash

Getting Started

  • To get started using this repo and testing to see how this works, you will need to add the following keys into your github secrets:

  • DO_API_KEY: This is your rsa private key generated when you initialized your droplets

  • DO_VM_1: This is the IP address of the first digital ocean droplets.

  • DO_VM_2: This is the IP address of the second digital ocean droplets.

Installation

  • Fork this Repo
  • Set up the needed prerequisite listed above
  • Trigger the github CI action in the actions tab on your github
  • Watch the tests pass and deploy
  • Login to your digital ocean droplet to see the newly deployed app
  • Run chmod u+x prod.sh to confirm the required dependencies were installed
  • Run yarn build and pm2 start build/src/ to start your app

Background Context

  • It is important to know there are three cons with this implementation:
    • You will need to manually start your server and configure NGINX as a reverse proxy by hand
    • To connect with your postgreSQL from your droplets you would need TLS and CA installed on your droplets to run migrations and queries as the managed Database on digital ocean requires encryption when communicating over the network.
    • You would need to spin a Load Balancer by hand.

Author

  • Chinonso Amadi(Kwabena)

bb_list's People

Contributors

nonsoamadi10 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.