Skip to content

[INFRA] 0. 전체 인프라 구조 ‐ ver1

Hanuel Lee edited this page Jul 28, 2023 · 3 revisions

2차 데모데이 요구사항에 따른 펀잇팀의 초기 인프라 구조는 다음과 같다.

image

1. develop 브랜치에 merge & 2. webhook

코드리뷰를 마친 pr을 develop 브랜치에 merge하면

github의 webhook이 infra서버에 있는 jenkins로 날라가 ci/cd 파이프라인을 실행시킨다.

3. git clone & 4. build

image

jenkins가 webhook을 받으면 바로 ci/cd 파이프라인이 실행된다.

jenkins의 파이프라인을 간단하게 설명하자면 다음과 같다.

1️⃣ Set Variable : slack 메시지 관련 초기 세팅

2️⃣ Git Clone : develop 브랜치에서 git clone

3️⃣ DB Setting : DB관련 정보(url, username, password 등) 세팅

4️⃣ Build : 실행가능한 파일로 build

  • FE : js, html등의 정적파일
  • BE : jar

5️⃣ Deploy

  • build된 파일을 develop 서버에 전송
  • develop서버의 deploy.sh 파일 실행시켜 자동 배포

5. deploy

develop 서버는 앞단에 웹서버인 nginx가 존재한다.

nginx는 들어온 요청을 분석해서 index.html 파일을 보여주거나(FE의 화면), 스프링의 톰캣 서버로 요청을 보내준다.

6. slack 알림

image

사용자는 slack을 통해 cicd 진행상황에 대한 알림을 받을 수 있다.

jenkins의 파이프라인이 실행된 순간과 배포가 완료된 순간에 알림이 온다.

만약 중간에 실패했을 경우에는 어떤 단계에서 실패했는지도 알 수 있다.

이 글은 펀잇팀 오잉이 작성했습니다.

🔐 공통

🔑 프론트엔드

🔒 백엔드

📝 회의록

🤩 데모데이

Clone this wiki locally