* Continuous Integration - 지속적인 통합

* Continuous Delivery - 지속적인 서비스 제공

* Continuous Deploy - 지속적인 배포

 

 

 

AS-IS

 

기존 개발 방식에선 프로젝트 개발자들은 Subversion을 통해 자신에게 할당된 기능의 코드를 작성하여

 

Update, Commit 을 통해서 다른 사람들과의 소스코드를 공유하는 방식으로 개발을 진행했습니다.

 

그리고 개발이 완료된 최종소스는 개발/운영 웹서버로 배포되고 서비스가 시작이 됩니다.

 

 

 

프로젝트 초기에 팀원간에 빌드 규칙이나 충분한 공감을 형성하지 못한채 진행이 될때 빌드가 깨져서

 

복구하는 상황이 빈번하게 발생하기도 하며 현재까지 통합된 소스에 대한 검증이 충분하게 이뤄지지

 

못하는 것이 사실이었습니다.

 

 

 

 

 

TO-BE

 

CI서버는 Continuous Integration(지속적인 통합) 의 약자로 빌드 자동화 서버를 의미합니다.

 

이전에 단순히 컴파일과 같은 것으로 여겨졌던 빌드의 개념이 CI서버에서는 모든 중요한 유효성 검사

 

및 테스트 단계가 포함되어 이루어지는 것으로 변화하였습니다. CI서버를 통해 자주 통합하고 검증함으로써

 

최신 코드가 항상 건강한 상태인지 확인 할 수 있으며, 통합주기를 짧게 가져감으로써 오류 발생시

 

원인 파악을 신속하게 할 수 있는 장점이 있습니다.

 

 

 

또한 자동화된 코드 검사를 통해 지속적인 상태 모니터링이 가능하기 때문에 프로젝트관리가 용이하며

 

항상 배포할 수 있는 소프트웨어 상태를 유지시켜 주기 때문에 이는 기존의 폭포수 방식에서 벗어난

 

애자일 방법론에서 요구하는 필수 조건이기도 합니다.

 

 

 

CI서버의 필요성은 2008년이전부터 부각이 되고 있었습니다만 도입비용과 개발환경 변화에 대한 소극적인

 

태도로 인해 아직까지도 CI서버에 대한 인식이 부족한 것 같아 이렇게 정리를 합니다.

 

 

다운로드.png

 

번호 제목 글쓴이 날짜 조회 수
49 GitHub, SourceTree, Gradle, Eclipse 환경의 java project 생성하기 절차 황제낙엽 2025.08.26 252
48 eclipse 용 gradle web application project (no spring) 생성하기 황제낙엽 2025.05.04 317
47 라이브러리 개발 프로젝트에서 jar 로 build 후 파일을 특정 로컬 경로로 copy 하는 예제 황제낙엽 2025.02.07 294
46 [Gemini] gradle init 으로 프로젝트 생성하는 절차 내용 황제낙엽 2025.01.24 344
45 [ChatGPT] eclipse 의 web project 에서 gradle refresh 때마다 context root 가 초기화 황제낙엽 2024.11.14 375
44 Gretty, Jetty 에서 ssl 적용 황제낙엽 2024.11.12 414
43 [ChatAI] Gradle Wrapper의 버전을 업그레이드하는 절차 황제낙엽 2024.11.12 458
42 eclipse 용 gradle web application sample project (no spring) file 황제낙엽 2024.11.12 374
41 [phind] Gradle 프로젝트를 생성할 때 nested sub project 가 함께 생성되는 이유 황제낙엽 2024.11.12 362
40 IDE(IntelliJ, Android Studio, Eclipse) 에서 build.gradle 에 dependencies 추가후 의존 라이브러리 갱신하기 황제낙엽 2024.10.30 379
39 [POST, 2021.06.28] Gradle을 이용해 Web 어플리케이션을 만들고 빌드하고 실행하기 file 황제낙엽 2023.12.30 330
38 build.gradle 의 dependencies 황제낙엽 2023.12.29 327
37 error: unmappable character 황제낙엽 2023.12.29 326
36 Task :compileJava FAILED 황제낙엽 2023.12.29 349
35 사용자 라이브러리 파일(*.jar) 를 의존성에 추가하는 방법 황제낙엽 2023.12.28 361
34 Windows 에 Gradle 설치 황제낙엽 2023.12.23 347
33 Eclipse, Gradle 프로젝트 생성, Dynamic Web Project 로 변경 황제낙엽 2023.12.23 362
32 Eclipse 에서 Gradle Project 를 WAR 로 배포하기 황제낙엽 2023.12.01 538
31 Eclipse 에서 생성한 Gradle Project 를 리프레쉬 했을때 주의할 점 황제낙엽 2023.11.30 1532
30 Gradle 기본 다지기 1편 file 황제낙엽 2023.11.16 244