티스토리 뷰
지난번에는 svn에 trunk, branches, tags 생성하는 방법에 대해서 알아보았다.
그럼 이녀석들은 무엇을 위해 이렇게 따로 나뉘어 있는가? 다 각자의 역할이 있다.
trunk : 소스의 주 개발 작업을 진행하는 폴더
branches : 소스의 현재 버전을 유지보수하고, 현재 버전을 기반으로 차기 버전을 개발할 경우 사용하는 폴더
tags : 릴리즈된 소스를 관리하기 쉽게 따로 보관하는 폴더
즉 사용하는 곳에 따라 다르겠지만 개발, QA, 운영 서버가 있는 곳에 배포를 한다고 하면
branches는 개발서버에 배포할 소스가 올라가는 장소, trunk는 QA서버에 배포할 소스가 올라가는 장소 , tags는 QA서버에 배포할 소스에 대한 백업 이라고 생각하면 이해하기 쉽다.
trunk 영역에 형상관리를 할 소스가 올라가 있고 이것을 checkout 받는다.
checkout 받은 프로젝트 우클릭 > team > Branch... 클릭
Branch 폴더명을 입력하고 OK
svn repo 에 들어가서 새로고침을 한번 해보면 branches 하위에 내가 만든 폴더명인 version1 이라는 폴더 밑에 test-pjt가 들어가 있는것을 확인할 수 있다. 이 프로젝트를 다시 checkout을 받는다. (이름은 다르게)
branch 프로젝트에서 작업을 진행하고 commit을 한다. trunk 프로젝트와는 상관없이 별도로 branch 영역에 commit이 되는것을 확인할 수 있다. 하지만 같은 프로젝트처럼 리비전 번호가 이어서 올라가는걸 확인할 수 있다.
branch에서 작업한걸 commit 하고 개발서버에 배포하여 test 해보고 적용대상으로 분류가 된다면 본래 소스인 trunk(master)에 병합을 해줘야 한다. master 프로젝트 우클릭을 하여 team->merge 를 누르면 branch에 있는 소스를 master로 옮길 수 있다.
URL에는 branch 프로젝트의 주소를 적어준다.
OK 를 누르면 위와 같이 branch에서 변경된 내역들이 나타나고 이것들 중 선택적으로 merge를 시켜준다.
우클릭 하여 Accept 를 하면 master(trunk) 소스에 반영이 되고 이것을 master에서 commit을 해주면 merge는 완료가 된다.
master에 commit 된 소스는 QA에서 검증하고 검증이 완료가 되었다면 운영서버에 배포하기 전에 현재 소스를 Tag로 추출한다.
master project 우클릭 > Team > Tag...
위와 같이 만든다면 tag가 생성된 모습은 다음과 같다.
위처럼 tags에 01 버전과 02 버전 두개가 생성이 된걸 확인할 수 있다.
이 tags에 생성된 프로젝트로 jenkins에서 빌드를 하는건 다음을 참고하면 된다.
위처럼 svn의 기본 폴더를 각각 역할에 맞게 사용한다면 더욱 편리하게 svn을 사용할 수 있다.
'CI,CD > SCM' 카테고리의 다른 글
[git 시작 #1] local PC에 git 설치하기 (0) | 2020.07.31 |
---|---|
CentOS (linux) 에서 git, gitlab설치하기 (0) | 2020.07.20 |
CentOS (linux) 에서 SVN 설치하기 (0) | 2020.07.20 |
[git 시작 #3] Eclipse 에서 Git 사용법 (Cherry Pick Merge) (0) | 2020.05.27 |
svn trunk, branches, tags 생성하기 (with svn:E160013) (0) | 2020.05.20 |