CI/CD
업데이트:
기반 시스템
개요
기반 시스템은 소프트웨어를 개발하는데 꼭 필요한 기초 환경이며,
소스 코드를 형상 관리하고 CI를 통해 지속적으로 통합하는 과정이 기반 시스템입니다.
기반 시스템 없이 생산적인 소프트웨어 개발은 불편할 수 있습니다.
소스 코드를 안전하게 보관해주고, 프로젝트 구성원 간의 의사소통을 해주는 등 프로젝트의 모든 활동이 진행되도록 돕습니다.
또, 개발자들을 편하게 해주고, 불필요하게 노력을 낭비하지 않게 해주며, 개발에 집중할 수 있게 해줍니다.
성공적인 프로젝트는 거의 다 적절한 기반 시스템 하에서 개발된 것이라고 보면 됩니다.
구성
프로젝트 수행 시 필요한 기반 시스템은 다음과 같으며, 해당 구성은 Docker를 통해서 구성할 예정입니다.
기반 시스템 종류
-
CI
형상관리 서버에 Commit된 소스코드를 주기적으로 컴파일, 단위테스트 코드 인스펙션 등의 과정을 수행
신규 또는 수정된 소스코드가 결함이 있는지의 여부를 지속적으로 검증 -
형상관리
프로젝트상의 소프트웨어 라이프사이클 기간 동안 개발되는 제품의 무결성 유지
팀에 의해서 제작되고 있는 소프트웨어의 식별, 편성 및 수정을 통제
실수를 최소화함으로써 생산성을 최대화하는 것 -
코드품질
코드 중복, 단위 테스트, 복잡도, 발생 가능한 잠재적인 버그, 코딩 규칙 등 프로젝트의 코드 품질을 관리하는 정적 분석 도구 -
이슈관리
중소규모의 프로젝트를 진행할 때 프로젝트 관리를 위해 사용하는 Issue Tracker
프로젝트 단위로 일정을 관리하고 이슈나 기능들을 생성
담당자를 지정하여 현재의 문제 사항이나 요구 사항을 해결하도록 요청 -
Repository
수시로 Release되는 바이너리를 배포하는 저장소 외부 Repository에 접속하기 어려운 경우 Proxy 역할 -
인증/DNS/WEB
웹 사이트 별 회원 가입 절차 없이 LDAP을 활용하여 인증 처리
DNS 및 Apache를 구성하여 Hosts 파일과 Port 정보 없이 도메인으로만 접속
댓글남기기