728x90

CI라는 것이 있다.

Continuous Intergration의 약자로써 직역하면 지속적인 통합이라는 뜻이다.



위의 그림을 보면, (디자이너들이 보면 암걸리는 이미지...)

여러명의 개발자들이 SVN을 이용하여 버전관리를 하고 있고(1), 

최종적으로 개발이 완료된 프로젝트 소스를 FTP를 이용하여 서버에 업로드를 하고(2),

웹서버를 재구동 하여(3) 테스트를 진행한다.

이 일련의 작업들은 손이 많이 가는 작업이 아닐 수 없다.


예전에 K모 회사에서 저 일련의 작업들을 내가 도맡아서 진행을 한 적이 있었는데,

일단 프로젝트 끝나고 운영서버에 소스들 반영하는 날에는 야근확정이었다.

(그래서 프로젝트 작업 끝났다고 하면 겁나 싫어했다..ㅋㅋㅋ)


그런데 저런 일련의 작업들을 모두 프로그램화 한것이 바로 CI다.

주기적으로 SVN체크를 하는 작업이나, SVN에 올라온 소스들을 서버에 올리고, 그 서버의 was를 재가동 시키는것도 가능하다.

CI툴로 유명한것으로는 Hudson, Jenkins 등등이 있는데 검색해보니

Jenkins가 Hudson제작진들이 나와서 새로 만든 툴 이라고 한다. (더 좋다고 한다.)


하여 Jenkins에 대해 짤막하게 나마 메모한다.

일단 Jenkins를 구축하기 위해서는 

1. 형상 관리 시스템이 있어야 한다.(SVN이나 Git)

2. 자동으로 빌드할 수 있는 무언가를 하여야 한다.(Maven, Ant)

3. 배포 전략도 고민하면 좋다고 한다.(빌드 후 테스트웹서버로 올린다 라던가..)

이어야 한다고 한다.



설치방법 및 사용법등은 하단의 도움이 된 사이트들을 참고한다..



도움이 된 사이트들

http://happystory.tistory.com/89

http://younghooni.tistory.com/entry/CI-System-Jenkins-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0

http://gold9ine.tistory.com/entry/Jenkins-%EC%A0%A0%ED%82%A8%EC%8A%A4-%EC%84%A4%EC%B9%98

http://kimseunghyun76.tistory.com/353

http://lng1982.tistory.com/132

728x90

+ Recent posts