[olive] Jenkins setup

드디어 젠킨스를 설정했다.

그동안 올리브 프로젝트를 진행하면서 여러차례 자동 빌드 시스템의 필요성을 느꼈었다.
자동 빌드 + 자동 유닛 테스트 + 자동 배포까지… 포함한 시스템이 필요했었다.
아직은 유닛 테스트와 배포를 위한 부분이 부족했지만, 그래도 언젠가는 자동 빌드 시스템이 필요한 때가 올꺼라는 것은 알고 있었다.

회사 팀장 Chris 에게 이런 내용을 이야기했더니, buildbot(http://buildbot.net/)을 추천해 주었었다.
추천 이유는, 작고, 빠르고, 간단하다는 것이었다.

하지만… 사용하려고 이리저리 노력해본 결과, 나랑은 맞지 않았다.
레퍼런스가 많지 않았고, 무엇보다 필요시 실제 업무에 바로 적용하여 사용할 수 있기를 바랬었기 때문이다.
(실제 업무에서는 Jenkins 와 Buildbot 둘 다 사용하고 있다. 하지만 Buildbot 의 비중은 크지 않았다.)

아무튼, 오늘 간단하게나마 그동안 바래왔던 Jenkins 의 설정을 했다.
간이 테스트 결과, 잘 작동한다. ㅎㅎㅎ 🙂

[olive] basic concept

olive_concept

olive 발신의 기본 컨셉.

발신을 하기 위해서는 3가지 자원(AGENT, PLAN, Dial List)가 필요하다.

이 3  가지 자원을 하나의 단위로 묶은 것이 바로 Campaign.

3 가지 자원이 모두 가용할 때, 발신이 시작된다.(실제로는 Trunk 자원 및 기타 자원이 필요하지만 논외로 한다.)

[olive] version 0.0.1 plan

이제 겨우 슬슬 전체적인 그림이 잡혀가는 것 같다.

머릿속으로만 구상했던 개발 컨셉과 동작 방식들을 직접 구현해가면서 나타나는 컨셉 오류들과 함수명 짓는것이 제일 힘들었다.

아무튼.. 늦었지만 대략적인 olive-0.0.1 버전을 위한 단계별 목표를 세워보았다.

 

Stage1 : 고객 Dialing, 대기 상담원 연결, 결과 처리
– 가장 기본적인 Predictive 방식만을 적용한다. 현재 캠페인에 할당되어 있는 대기중인 상담원만을 기준으로 발신을 시도하고 연결한다.

Stage2 : API
– RESTful API 를 구현한다.
– 캠페인의 생성/변경/삭제, 상담원 생성/변경/삭제, 전략 생성/변경/삭제 까지를 목표로 한다.

Stage3 : Packaging and documentation.
– olive 설치와 사용을 위한 Makefile, 문서화를 한다.
– olive 발신의 컨셉에 대한 충분한 설명을 목표로 한다.