CI/CD

업데이트:

기반 시스템

개요

기반 시스템은 소프트웨어를 개발하는데 꼭 필요한 기초 환경이며,
소스 코드를 형상 관리하고 CI를 통해 지속적으로 통합하는 과정이 기반 시스템입니다.

기반 시스템 없이 생산적인 소프트웨어 개발은 불편할 수 있습니다.
소스 코드를 안전하게 보관해주고, 프로젝트 구성원 간의 의사소통을 해주는 등 프로젝트의 모든 활동이 진행되도록 돕습니다.
또, 개발자들을 편하게 해주고, 불필요하게 노력을 낭비하지 않게 해주며, 개발에 집중할 수 있게 해줍니다.
성공적인 프로젝트는 거의 다 적절한 기반 시스템 하에서 개발된 것이라고 보면 됩니다.

구성

프로젝트 수행 시 필요한 기반 시스템은 다음과 같으며, 해당 구성은 Docker를 통해서 구성할 예정입니다.

기반 시스템 종류

  1. CI
    형상관리 서버에 Commit된 소스코드를 주기적으로 컴파일, 단위테스트 코드 인스펙션 등의 과정을 수행
    신규 또는 수정된 소스코드가 결함이 있는지의 여부를 지속적으로 검증

  2. 형상관리
    프로젝트상의 소프트웨어 라이프사이클 기간 동안 개발되는 제품의 무결성 유지
    팀에 의해서 제작되고 있는 소프트웨어의 식별, 편성 및 수정을 통제
    실수를 최소화함으로써 생산성을 최대화하는 것

  3. 코드품질
    코드 중복, 단위 테스트, 복잡도, 발생 가능한 잠재적인 버그, 코딩 규칙 등 프로젝트의 코드 품질을 관리하는 정적 분석 도구

  4. 이슈관리
    중소규모의 프로젝트를 진행할 때 프로젝트 관리를 위해 사용하는 Issue Tracker
    프로젝트 단위로 일정을 관리하고 이슈나 기능들을 생성
    담당자를 지정하여 현재의 문제 사항이나 요구 사항을 해결하도록 요청

  5. Repository
    수시로 Release되는 바이너리를 배포하는 저장소 외부 Repository에 접속하기 어려운 경우 Proxy 역할

  6. 인증/DNS/WEB
    웹 사이트 별 회원 가입 절차 없이 LDAP을 활용하여 인증 처리
    DNS 및 Apache를 구성하여 Hosts 파일과 Port 정보 없이 도메인으로만 접속

댓글남기기