VCS
버전 관리 시스템을 VCS(Version Control System)이라고 하며, 대표적인 버전 관리 소프트웨어로 SVN(Subversion)과 Git이 있다. 여러 명이서 작업하는 프로젝트의 버전관리나 각자 만든 소스의 통합과 같은 문제를 해결하기 위해 저장소를 만들어 그 곳에 소스를 저장해 소스 중복이나 여러 문제를 해결하기 위한 형상관리/소스 관리 툴.
* 형상 관리 : 소스의 변화를 끊임없이 관리하는 것
* 형상관리툴의 종류
- Client/Server 타입 : Subversion(SVN), CVS, Perforce, ClearCase, TFS
(Client/Server 타입이라고 들으면 어려워 보이지만, SVN 등은 중앙집중식 버전 관리 도구이다. 중앙서버의 저장소를 Client, 각 개발자의 저장소를 Server라고 이해했다.)
- 분산저장소 타입 : Git, Mercurial, Bitkeeper, SVK, Darcs
(중앙집중식 버전 관리 도구의 대표가 SVN이라면, 분산형 버전 관리 도구의 대표는 Git이다. 분산형의 장점은, 로컬 저장소를 이용하기 때문에 각 개발자의 version history가 있다는 것이다.)
- Folder 공유 타입 : RCS, SCCS
Git/Github/Gitlab
Git은 로컬에서 버전 관리, Github은 클라우드 방식으로 관리, Gitlab은 중앙 서버에서 Git Repository 관리.
*CI/CD 파이프라인
Ci(Continuous Integration), CD(Continuous Delivery & Continuous Deployment). 지속적인 통합(빌드와 테스트 자동화), 지속적인 전달 또는 배포(배포 자동화)
*DevOps
Developer + Operations. 개발과 운영의 합성어. 개발팀과 운영팀 간의 협력을 촉진하는 방법
SVN / Git
시놀로지 NAS에 설치
- NAS의 DSM7.0 업그레이드로 기존의 SVN 패키지를 사용할 수 없음. 대신 시놀로지 DSM7에서 선행 프로그램인 Docker 설치 후, SVN 서버 구축 가능
- 시놀로지 DSM7에서 Docker 설치 후, Gitlab 설치(Gitlab은 램 제공 4GB부터 설치 가능)
참고자료
Git, SVN 장단점 https://blog.naver.com/briyo/223111963864
SVN 대신 Git을 선택한 이유 https://blog.naver.com/cdw0424/222456066133
VCS 설명, SVN과 Git 그림 설명 https://blog.naver.com/wishlan/222917409980
Git over SVN 그림 예시 https://manshei.tistory.com/137
CI/CD 파이프라인 https://blog.naver.com/islove8587/222903616124
Git, Github, Gitlab 비교 https://blog.naver.com/jsongeop/222983057213
NAS 시놀로지 나스 Gitlab 설치하기 https://blog.naver.com/chunchun_happy/221839176346
시놀로지 나스 서버에 Gitlab 설치 https://blog.naver.com/chunchun_happy/221839176346
시놀로지 DSM7에서 Docker로 SVN 서버 구축하기 https://enjoy-dev.tistory.com/16
시놀로지 DSM7에서 SVN 서버 구축하기 https://blog.naver.com/kiss0801/222803985658
SVN과 Git 장단점 및 차이 https://flatsun.tistory.com/1943
댓글