Skip to content

The Infrastructure

suisoh edited this page Jan 18, 2023 · 28 revisions

The ProgPhil Discord Bot Infrastructure

The Infrastructure Overview

Containerization with Docker

Docker is a popular software used in creating and building containerized applications. Why do we need to containerize our application? Docker allows us to package our app with its required libs and dependencies inside the docker container to make our deployment into the server more efficient, taking up less space and time. It will be easier for the ops team to deliver changes in the codebase and dependencies to the serving by rebuilding the image of the new app and restarting the running container deployed in the server.

flowchart TB;
    A[/New App changes/] --> | on push:main | B(Build new docker image)
    B --> | uploads to | C[(DockerHub Repo)]
    C --> | connect to server via SSH | D(Pull latest image)
    D --> E(Build docker image and restart container)
    F[/Docker Token/] --> | pass via env | E
    E --> G(Updated running Discord Bot)
Loading

Current Docker workflow

Getting Started

The CI/CD Pipeline

Clone this wiki locally