본문 바로가기
TIL

VCS, SVN, Git(Github, Gitlab), CI/CD, DevOps

by aimaimee 2023. 8. 16.

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 설명, SVNGit 그림 설명 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에서 DockerSVN 서버 구축하기 https://enjoy-dev.tistory.com/16

시놀로지 DSM7에서 SVN 서버 구축하기 https://blog.naver.com/kiss0801/222803985658

SVNGit 장단점 및 차이 https://flatsun.tistory.com/1943

댓글