오픈 소스에 기여하려면 어떤 부분을 기여할지 막연하게 생각하는 것 보다는 프로젝트를 빌드하고
많이 사용을 해봐야지, 어떤 기능이 있는지 또 내가 어떤 기능을 구현할 수 있을지 구체화 할 수 있다.
따라서 프로젝트를 다운받고, 테스트 환경까지 구축하는 과정을 정리해보았다.
설명하기 앞서서 이건 아커스 서버쪽 구현을 위한 환경 설정이라는 것을 밝힌다.
참고로 운영체제는 CentOS release 6.10
버전을 사용했다.
git clone https://github.com/naver/arcus
을 하여 프로젝트를 로컬에 다운로드 받는다.git clone https://github.com/naver/arcus-memcached
명령을 통해서 arcus-memcacehd
프로젝트 소스코드를 다운 받는다.cd arcus-memcached
로 프로젝트 폴더에 들어간다./config/autorun.sh
명령어로 빌드에 필요한 라이브러리를 다운로드 받는다../config —with-libevent=[arcus 프로젝트 절대 경로를 입력한다.]
make
를 하여 빌드를 시작한다.1번에서 arcus 프로젝트를 클론한 이유가 5번에서 lib-event
를 설정해주기 위함이다.
이렇게 까지 하면 프로젝트 빌드까지는 완료된 것이다.
여기까지 성공했다면 다음과 같이 실행파일들이 생성된 것을 알 수 있다.
실행을 하는 명령어는 ./memcahced
로 실행할 수 있지만, 그냥 실행되지 않는 것을 알 수 있다.
그 이유는 사용할 엔진을 지정하지 않았기 때문이다.
./memcached -h
명령을 통해서 확인하면, 다양한 옵션을 확인할 수 있다.
./memcached -E ./.libs/default_engine.so
를 하여 엔진을 지정해줘야 실행을 시킬 수 있다는 것을 알 수 있다.
매번 이렇게 하는 게 귀찮다면, run_memcacehd_sole.sh
에 설정을 해주면 쉘 스크립트로 실행시킬 수 있다.
다음은 내가 설정한 옵션이다. 엔진은 기본 엔진을 사용하였고, 포트번호는 11216을 사용한 것을 알 수 있다. 그리고 -vvvv
이것은 디버그 레벨인데 v의 개수가 많아 질 수록 디버그 레벨이 증가한다.
실행을 한 후 다음의 명령어로 지정한 포트로 연결을 시도한다. telnet [localhost](http://localhost) 11216
그 후 다음과 같이 명령어를 통해서 프로그램을 실행할 수 있다.
/var/log/message
에서 자세한 로그를 확인할 수 있다.
자신이 작성한 코드를 테스트 해보고 싶다면 make test
로 전체 테스트를 수행할 수 있다.
또한 일부 테스트만 하고 싶다면, prove t/{테스트코드}.t
로 특정한 테스트를 지정하여 테스트 하면 된다.