-
Notifications
You must be signed in to change notification settings - Fork 0
[INFRA] 0. 전체 인프라 구조 ‐ ver1
Hanuel Lee edited this page Jul 28, 2023
·
3 revisions
2차 데모데이 요구사항에 따른 펀잇팀의 초기 인프라 구조는 다음과 같다.

코드리뷰를 마친 pr을 develop 브랜치에 merge하면
github의 webhook이 infra서버에 있는 jenkins로 날라가 ci/cd 파이프라인을 실행시킨다.

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 파일 실행시켜 자동 배포
develop 서버는 앞단에 웹서버인 nginx가 존재한다.
nginx는 들어온 요청을 분석해서 index.html 파일을 보여주거나(FE의 화면), 스프링의 톰캣 서버로 요청을 보내준다.

사용자는 slack을 통해 cicd 진행상황에 대한 알림을 받을 수 있다.
jenkins의 파이프라인이 실행된 순간과 배포가 완료된 순간에 알림이 온다.
만약 중간에 실패했을 경우에는 어떤 단계에서 실패했는지도 알 수 있다.
이 글은 펀잇팀 오잉이 작성했습니다.
- 📚 프론트엔드 개발 문서
- 🌏 브라우저 지원 범위
- 🧪 프론트엔드 테스트 전략
- [웹 접근성] a tag와 button의 차이는 무엇일까?
- multipart
- SvgSprite 컴포넌트 사용하기
- [INFRA] 프론트엔드 CI/CD 구축
- [기술 검토] 리액트 쿼리 도입 이유
- [기술] 로그인 기능 도입기
- 🐛 S3 배포 캐싱 오류
- 이미지를 위한 S3와 Cloudfront 설정하기
- 📓 성능리포트 ‐ 펀잇 서비스 최적화하기
- 펀잇 SEO 개선하기
- 📚 백엔드 개발 문서
- intellij에서 private DB 연결하기
- [INFRA 0] 전체 infra 구조 - ver1
- [INFRA 1] infra 서버 세팅
- [INFRA 2] 백엔드 CI/CD 구축
- [INFRA 3] 백엔드 DB 연결
- [INFRA 4] 깃허브 PR 라벨을 기준으로 젠킨스 빌드하기
- [LOG] 로그 세팅
- [Trouble Shooting] 일관된 테스트 격리 적용하기
- [Trouble Shooting] 프록시로 동작하는 @Transactional, 전파 옵션 관리