Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Cloud Native/MSA, Docker Compose 기반 업무 관리 시스템 및 관리자용 대시보드 CI/CD 구축

Notifications You must be signed in to change notification settings

DB-Inc-Capstone/.github

Open more actions menu

Repository files navigation

DB Inc. 산학캡스톤 프로젝트

  • 다음 프로젝트는 MSA(Microservices Architecture) 방식으로 구현한 사원 업무 관리 플랫폼입니다.

    • 프로젝트 명 : Cloud Native/MSA 기반의 업무 관리 시스템 및 관리자용 대시보드 구축
  • 시연 영상 링크

    • 다음 링크에서 확인이 가능합니다.
  • 캡스톤 프로젝트 포스터 링크

    • 다음 링크에서 확인이 가능합니다.
  • 아래와 같이 프로젝트를 구성하였습니다.

  • 팀원 구성 및 개발 역할은 다음과 같습니다.

    • Kim Taehyeon (DevTae / 팀장 및 백엔드)

      • back-worker 구현
      • 백엔드 Github Action CI/CD 세팅 (.github 를 통한 Docker 배포 자동화)
      • Docker Compose 및 Spring Cloud Eureka 를 활용한 MSA 구축
    • LeeMingu (dlalsrn / 프론트)

      • React 를 활용하여 front 구현
      • 와이어프레임 작성
    • Sunghyun Choi (sh3866 / 프론트)

      • React 를 활용하여 front 구현
      • 와이어프레임 작성
    • Ryu hyeong jin (uhj130 / 백엔드)

      • back-work, back-dashboard 구현

.github

작성 : 김태현 (DevTae)

  • 해당 저장소는 DB Inc. 산학캡스톤 프로젝트 Cloud Native/MSA 기반의 업무 관리 시스템 및 관리자용 대시보드 구축을 위한 자동 배포 스크립트를 모아둔 공간입니다.

  • 현재, docker-compose.yml 를 통하여 Cloud/MSA 서버를 구축한 상태입니다.

  • back-worker, back-eurekaserver, back-apigateway 등 DB-Inc-Capstone 을 구성하는 모든 저장소의 경우, Docker Hub 에 자동배포하고 업데이트된 이미지에 대하여 Docker Compose 에 자동 편입될 수 있도록 CI/CD 를 구성하였습니다.

  • 현재 아래와 같이, back-work 에 대하여 2 개의 인스턴스를 배포하였고 이에 대하여 API GatewayLoad Balancer 에 의하여 API 요청이 분산됩니다.

    image

    • 아마존 EC2 t3-medium 사양에 의하면, 램 4GB 로 Docker SwarmKubernetes 사용에 있어서 원활한 인스턴스 생성이 어려운 이유로, 호출의 빈도가 높고 서비스 종속성 또한 높은 back-work 서비스만을 다중 인스턴스로 구축하였습니다.
    • 추가적으로, 사양이 더 높은 상황을 대비하여 Docker Swarm 스크립트를 준비해뒀으며, 해당 아키텍처의 권장 사양 (RAM 16GB 이상) 이상으로 구성이 가능하다면 Docker Compose 가 아닌 Docker SwarmKubernetes 사용을 추천드립니다.

  • 서버 세팅 방식 (docker-compose.yml 사용법)
    • 터미널에서 docker-compose up --build --force-recreate 실행합니다.
    • .env 파일을 아래와 같이 작성하여 사용합니다.
      • POSTGRES_DB_BACK_WORKER=back_worker
      • POSTGRES_DB_BACK_WORK=back_work
      • POSTGRES_DB_BACK_DASHBOARD=back_dashboard
      • POSTGRES_USER=postgres
      • POSTGRES_PASSWORD=????

  • 아마존 CI/CD 기능 사용
    • 각 저장소에서 main 브랜치에 push 할 시, Github Action 에 의하여 자동으로 AWS EC2 에서 이미지를 pull 하고 해당 이미지만 교체하는 방식으로 진행됩니다.

  • 프로젝트 배포에 관련하여 질문이 있으신 분들은 아래 이메일로 연락해주시면 감사하겠습니다.

About

Cloud Native/MSA, Docker Compose 기반 업무 관리 시스템 및 관리자용 대시보드 CI/CD 구축

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.