DOI QR코드

DOI QR Code

A scheme of Docker-based Version Control for Open Source Project

오픈 소스 프로젝트를 위한 도커 기반 버전 관리 기법

  • 이용전 (호서대학교 컴퓨터공학부) ;
  • 임성락 (호서대학교 컴퓨터공학부)
  • Received : 2015.11.04
  • Accepted : 2016.02.04
  • Published : 2016.02.29

Abstract

When Open Source Projects are processed by multiple developers, the Version Control Systems, which control the different versions of the same file being used, is a very useful tool. On the other hand, because most of conventional VCS(SVN, Git, etc.) mainly control the history of the modifications of the source codes or documents, there is an inconvenience that each developer should modify the development environment whenever the development environment is modified. To overcome this inconvenience, this paper suggests a scheme of VC for OSP. The basic concept of the suggested scheme is that an image, including the development environment and controls, is created as a new version using the Docker, virtualization tool of the container method. To review the functional appropriateness of the suggested scheme, after establishing the Docker on the hosts that use the different OS( Ubuntu12.0.4, CentOS7), this study tested a VC that could control the different versions including the history of modifications of the development environment and evaluated them by a comparison with the conventional VCS. The results show that the suggested scheme is a convenient scheme of VC for the OSP.

오픈 소스 프로젝트가 다수의 개발자들에 의해 진행될 때 동일한 파일에 대한 여러 버전을 관리해 주는 버전 관리 시스템은 매우 유용한 도구로 사용되고 있다. 그러나 대부분의 기존 버전 관리 시스템들(SVN, Git 등)은 소스 코드 혹은 문서의 변경 이력을 주로 관리하고 있기 때문에 개발 환경의 변경이 발생할 때마다 개발자마다 직접 변경해야 하는 불편함이 있다. 이러한 불편함을 해소하기 위하여 본 논문에서는 오픈 소스 프로젝트를 위한 버전 관리 기법을 제시한다. 제시한 기법의 기본 개념은 컨테이너 방식의 가상화 도구인 도커를 이용하여 개발 환경을 포함한 이미지를 생성하고 이를 새로운 버전으로 관리한다. 제시한 기법의 기능적 타당성을 검토하기 위하여 서로 다른 OS(우분투12.04, 센트OS7)를 사용하는 호스트에 도커를 구축한 후 개발 환경의 변경 이력이 포함된 버전 관리를 실험하고 기존 버전 관리 시스템들과 비교 평가하였다. 그 결과 제시한 기법은 오픈 소스 프로젝트를 위한 편리한 버전 관리 기법이 될 수 있을 것으로 보인다.

Keywords

References

  1. Nam-ho. Kim, Young B. Park, "An Implementation of Automation Version Management System", KIISE, p.55-60, Oct, 2007.
  2. Bieniusa. A, Thiemann. P, Wehr. S, "The Relation of Version Control to Concurrent Programming", Computer Science and Software Engineering, P.461 - 464. Dec, 2008
  3. Orucevic-Alagic. A, Host. M. "Network Analysis of a Large Scale Open Source Project", SEAA, 40th EUROMICRO, p.25 - 29, Aug, 2014.
  4. Docker, "https://www.docker.com/"
  5. Sagi Ifrash, David H. Lorenz, "Crosscutting Revision Control System", ICSE, 2012 34th International Conference on, P.321-330, Jun, 2012.
  6. TortoiseSVN, "http://tortoisesvn.net/"
  7. git, "http://git-scm.com/"
  8. mercurial, "https://mercurial.selenic.com/"
  9. Russell G. Shirey, Kenneth M. Hopkinson, Kyle E. Stewart, Douglas D. Hodson, Brett J. Borghetti, "Analysis of Implementations to Secure Git for Use as an Encrypted Distributed Version Control System", HICSS, Jan, 2015.
  10. Won-Yong Kim, Myung-Woo Kang, Hye-Jung Park, Man-Soo Kim, Eui-Nam Huh, Chan-Ho Yong, "A Study on Operating-System Level Virtualization based on Linux Container", KIISE, p.1226-1228, Jun, 2015.