-
CI/CD 구축 프로젝트프로그래밍 지식/Infra 2023. 12. 14. 01:12
형상 관리를 위한 팀이 별도 존재했지만, 우리 팀을 위한 CI/CD를 별도 구축했다.
CI/CD 적용 배경
- 수동 빌드/배포로 인한 반복적인 수작업 및 Human Error 가능성 존재
- 빌드 산출물 및 릴리즈 버전 파악의 어려움
- 정적 검증이 타 팀을 통해 이뤄짐으로써 느린 반영, 검증 대기 문제
CI/CD 목표
- 빌드에서 배포까지의 과정 자동화
-> Human Error 최소화, 빠른 피드백 루프 - Bamboo에서 빌드 history 파악 및 Release 관리, 복구 기능
-> 소프트웨어 품질 확보 - CI/CD 파이프라인 내 자체 정적검증(SonarQube), 동적검증(UnitTest) Quality Gate 적용
-> 소프트웨어 품질 확보
CI/CD Tool
- CI/CD Tool : Bamboo
- Version Control Repository Hosting Service Tool : Bitbucket
- Static Analysis Tool : SonarQube
CI/CD 적용에 따른 변화점
AS-IS TO-BE Build 소스코드 검증계 서버로 이동 후 Build 수행 Bamboo Build Plan 실행 Deploy Build Artifacts 이동 및 프로세스 재기동 Bamboo Build 성공 시 자동 Deploy Release 관리 서버 내 백업 Bamboo Release 정보 확인 정적 검증 시점 배포 후 Merge 전 / 배포 후 Merge 모든 Commit 대상 Sonar Quality-Gate 통과 Commit 대상 정적 검증 도구 SonarQube 추가 동적 검증 Google UnitTest 추가 - Pull Request 생성 시 Flow
- Pull Request 생성 시 구성도
- 빌드/배포 시 Flow
- 빌드/배포 시 구성도
'프로그래밍 지식 > Infra' 카테고리의 다른 글
SAA 준비 (0) 2024.08.06 CI/CD를 구축하며 (0) 2024.01.09 Spring Boot/React Docker 이미지 만들기 (0) 2023.07.16 리액트 aws 배포 (0) 2023.06.12 RDS 연결 안됨 (0) 2023.06.11