yobi – 협업 소프트웨어 개발 플랫폼. 간단 리뷰

Posted by in Review

 

Yobi?


yobi는 Naver(Naver Labs)에서 만든 소프트웨어 협업 개발 플랫폼입니다. 간단하게 이야기해서 GitHub에서 핵심 기능만을 추려서 설치형으로 만든 게 yobi라고 생각하시면 됩니다. Apache License 2.0의 오픈 소스이며, Java 7 이상을 요구하지만 설치가 쉬운 것이 장점입니다.

yobi라는 이름은 IEC에서 2005년 8월에 지정한 현존 가장 큰 디지털 데이터 정보 저장 단위인 2^80을 나타내는 YiB, Yotta binary를 뜻합니다.

아래 링크에서 yobi를 사용해 볼 수 있습니다. 그런데 아직 Beta 버전이라 yobi.io에 등록한 프로젝트는 언제든지 초기화 될 수 있다고 합니다.

 

http://yobi.io/

 

 

 

구성


yobi는 아래의 기술을 이용해서 만들어졌습니다.

 

  • Play Framework 2 + Java
  • EBean(ORM)
  • JGit
  • Twitter Bootstrap + Custom CSS
  • Less
  • H2 Embedded DB

 

H2 Embedded DB를 사용하고 있어서, yobi를 로컬에 설치할 때 따로 DB를 설치할 필요가 없습니다.

 

 

 

설치하기


yobi Github Page에 자세한 내용이 나와있는데요, 그걸 토대로 yobi를 설치해보겠습니다.

Window 환경에 설치하는 방법은 아직 나와있지 않아서 CentOS 6.3 64bit 환경에 설치하였습니다.

 

우선 yobi는 java 7(1.7) 이상을 요구합니다. java 버전을 확인하고, java 7이 아니라면 아래의 링크에서 다운받아 설치해주세요.

http://www.oracle.com/technetwork/java/javaee/downloads/index.html

 

java -version

1.java버전확인

 

 

그 다음  play Framework 설치를 위해서 play-2.1.0.zip 파일을 내려받습니다.

 

curl -O http://downloads.typesafe.com/play/2.1.0/play-2.1.0.zip

2.playframework 내려받기

 

내려받은 파일의 압축을 풀어줍니다.

 

unzip play-2.1.0.zip

3.압축풀기

 

이제 압축이 풀린 디렉터리로 이동한 다음에 github에서 yobi를 내려받습니다.

 

git clone https://github.com/nforge/yobi.git

4.git에서 yobi 내려받기

 

you 소스를 다 내려받았으면 상위 디렉터리에 있는 play 실행파일을 호출해서 play framework를 실행합니다.

실행하면 웹에서 필요한 리소스들을 추가로 다운받는 작업이 시작됩니다. 네트워크 환경에 따라 상당한 시간이 소요될 수 있습니다.

 

../play

5.play framework 실행 후 run

 

파일을 모두 다운로드 받고나면 [nforge4]라는 콘솔이 뜹니다. 콘솔창에 run을 입력하고 엔터를 치면 실행이 됩니다. run은 개발 모드로 yobi를 실행하는데요, 백그라운드 서비스, 즉 데몬으로 돌리고 싶다면 start를 입력한 다음에 모든 로딩이 끝났을 때 ctrl + d를 눌러서 빠져나오면 됩니다.

 

실행하면 yobi를 구동하는 데 필요한 리소스들을 내려받고 소스 파일을 컴파일하는 작업을 합니다.

 

run

6. 리소스를 내려받고, 9000포트 yobi가 실행됐다

 

자, 드디어 설치가 끝나고 기본 설정인 9000번 포트가 열렸습니다. play framework가 기본으로 9000번 포트를 이용하기 때문에 yobi도 9000번 포트가 기본값으로 쓰고 있습니다.

다른 포트를 이용하고 싶으시다면 play framework documenation을 참고해서 변경해주세요.

 

yobi의 설치가 끝났으니 브라우저로 접속해 봅시다.

 

7. 브라우저에 경고가!!

 

이런.

뭔가 빨간 메시지가 떴네요.

 

서버 콘솔 창에도 아래와 같이 오류로 보이는 듯한 메시지들이 보입니다.

 

8. 콘솔에도 에러가!!

 

저는 이걸 처음보고 버그라고 생각해서 yobi 개발팀에 문의를 했는데요, 버그가 아니라고 합니다.

yobi를 실행하기 위해서는 data evolution을 적용해야하는데요, 이것을 사용자한테 명시적으로 알려주기 위해서 일부러 conf/application.conf에 있는 applyEveolutions.default 옵션 값을 false로 두었다고 합니다.

yobi 개발팀 내부적으로 이 문제에 대해서 논의를 해보겠다고 했으니 앞으로 설치하시는 분들은 이 장면을 안 볼 수도 있을 것 같습니다.

 

어쨌든 이 부분을 해결하는 방법은 간단합니다. 브라우저 화면에서 아래의 파란색으로 박스 쳐 놓은 “Apply this script now!” 버튼을 클릭해주세요.

 

파란색 박스의 버튼을 클릭해주세요.

 

버튼을 클릭하면 비밀값을 생성해야 합니다. 정확히 어떤 용도인지는 잘 모르겠습니다.

 

비밀번호 입력

비밀값을 알고 있으면 어떤 계정으로도 로그인을 할 수 있다고 하네요.

9. 환영합니다!

 

이런 화면이 나왔다면 모든 설치가 끝났습니다. play 서버를 재시작하고 브라우저로 들어가보면 드디어 yobi를 보실 수 있습니다.

 

10. 서버 다시 리로딩하고 들어가보면 쨘!

 

 

 

 

 

둘러보기


그럼 이제 Yobi는 어떤 기능들을 제공하는지 쭈욱 한 번 둘러보겠습니다.

 

코드 저장소의 역할을 하기 때문에 당연히 프로젝트를 생성할 수 있겠죠. 특이하게도 Git과 SVN 두가지 방식 모두 지원합니다. 프로젝트 생성 메뉴에서 선택을 하시면 됩니다.

1.프로젝트 생성 2. git or svn 선택

그리고 기존 GitHub에 있는 코드를 옮겨올 수도 있습니다. 제가 이전에 GitHub에 만들어놓은 Huntris라는 프로젝트를 yobi로 가지고 와 보겠습니다.

3. Git저장소에서 코드 가져오기

 

Git저장소 URL을 입력하고, 프로젝트에 대한 간단한 소개를 넣은 후 프로젝트 생성 버튼을 클릭하면 아래와 같은 대시보드 페이지가 나옵니다.

4. repository 생성이 되었습니다.

 

기본적으로 제공되는 기능들은 GitHub과 유사합니다. GitHub보다 좀 심플한 느낌인데요, 꼭 필요하다 싶은 것들만 가져와서 넣은 것 같습니다. 저장소에 있는 파일을 볼 수 있구요.

5. 파일보기

너무나 당연한 이야기지만 소스 코드도 볼 수 있습니다.

6. 코드보기

 

그리고 이게 좀 재미있는데, 커밋 diff로 들어가서 변경한 코드에 댓글을 남길 수 있습니다. 즉, 코드 리뷰인 셈이죠. 아래의 스크린 샷에는 오른쪽 화면이 짤렸는데, 우측에는 댓글이 달려있는 위치를 나타내는 스크롤 바가 있어서, 클릭하면 바로 가기 할 수 있습니다.

7. 커밋 보기에서 코드 리뷰

 

 

마일스톤을 등록해서 프로젝트 전체 일정을 관리할 수 있습니다.

9. 마일스톤 등록

마일 스톤에 따른 이슈를 등록할 수 있구요. 이런 부분은 GitHub과 비교해 볼 때, 왼편에 네비게이션 메뉴가 서로 분리되어 있다는 정도만 다르고 거의 똑같습니다.

10. 이슈 등록

 

마일스톤 Version 0.1.0을 목표로 간단하게 2개의 이슈를 등록한 모습입니다.

11. 이슈 목록

 

소스를 로컬로 가져오는 방법은 GitHub과 똑같습니다. 저는 주소를 복사한 다음에 커맨드 창에서 git 명령어로 복사했습니다.

12. git에서 소스 가져오기

 

 

12. git에서 소스 가져오기 2

 

이외에도 프로젝트 멤버 관리 같은 기능들이 몇 가지 더 있는데요, 일일이 설명하면 내용이 너무 길어질 것 같아서 둘러보기는 이 정도에서 마치겠습니다.

 

 

 

끝으로…


NHN Deview 2013에 가서 채수원 님의 발표를 듣고서 yobi에 관심이 생겼습니다. 사실 yobi 자체보다는 yobi를 만들기 위해서 개발팀이 했던 고민이나 시행착오가 더 흥미로웠습니다. 그런 고민 끝에 나온 제품은 어떨까 궁금해서 사용해보게 되었는데요, 개인적으로 제가 좋아하는 취향의 디자인이라 마음에 드네요. 중요한 건 사용법인데요, 전체적으로 심플해서 원하는 기능을 찾기가 쉬웠습니다. 실제 개발을 진행해봐야 좀 더 자세한 내용을 알 수 있을 것 같아 좀 GitHub에 있는 개인 프로젝트를 끌어와 yobi에서 리팩토링을 진행할 생각입니다.

GitLab과 같은 제품을 써 본 적이 없기 때문에 어느 게 더 낫다고, 제가 감히 평가할 수는 없을 것 같습니다. 지금은 국내에 오픈 소스로 협업 소프트웨어 개발 플랫폼인 yobi라는 재밌는 녀석이 나왔다는 것을 소개하는 정도로 글을 마쳐야 할 것 같네요. 조금씩 사용해보면서 또 후기를 남기도록 하겠습니다.