DBMS/Tools

Toad TeamCoding - Integration with SubVersion - part2

blackwiz 2011. 5. 24. 16:23
반응형


Toad TeamCoding part 1에 이어서...

이전 글을 못보신 분은 아래링크 클릭!!
2011/05/24 - [데이터베이스/Toad] - Toad TeamCoding - Integration with SubVersion - part1

4. Toad Team Configuration

자… 이제 필요한 SW는 모두 설치했으므로 Toad Team Coding을 위한 설정 작업만 하면 된다.

4-1. Toad Team configuration

Server-side Object Install 과정에서 생성한 TOAD 계정으로 로그인 한다. TOAD 계정은 Team Coding에 필요한 Role을 모두 가지고 있기 때문이다.

상단 툴바에서 우측 마우스 클릭 > Team Coding 을 선택해 관련 툴바를 활성화 시킨다. 물론 Menu > Utils > Team Coding > 하위 메뉴를 이용해도 동일하다.



툴바 중 체크 아이콘인 “View Team Coding Status with this Session” 버튼을 클릭한 후 나타난 화면에서 Setting 버튼을 누른다.



위 화면처럼 체크하여 Team Coding 과 버전컨트롤 기능을 활성화 한다. 버전 컨트롤 Provider로 Subversion을 선택한 후 하단의 Provider Options 버튼을 클릭한다



Subversion 설정화면에서 SVN Executable 항목에는 이전 화면에서 설치한 SlikSvn 설치폴더의 svn.exe를 선택한다.



Server 설정탭에서는 SVN 서버에 대한 정보(서버명만)를 입력한다. 별도의 서버가 있다면 그 서버에 대한 정보를 입력하고, 나는 위에서 로컬에 설치한 Visual SVN 서버를 사용할 것이므로 나의 로컬 컴퓨터 명을 서버항목에 입력하였다.



옵션탭에서는 기본설정을 그대로 사용해도 무방할 듯 하다. OK>

4.2. local repository setting & init sync

실제 소스코드가 저장될 로컬 디렉토리를 생성한다. 그리고 해당 디렉토리와 svn 레파지토리와 한번은 싱크를 맞춰야 하므로 check out 한다.

먼저, 로컬에 프로젝트 소스를 저장할 디렉토리를 생성한다. 예제: C:\project_ws

해당 디렉토리를 선택한 후 우측 마우스 클릭 > SVN CheckOut… 클릭

(* 필자의 경우에는 위에서 Tortoisesvn을 설치했기 때문에 탐색기와 SVN이 통합되어 있다. 다른 툴을 사용한다면 여하튼 svn repository와 최초 한번 Checkout을 해야 한다는 것만 잊지말자)


4.3 Subversion Login

이제 마지막 작업만 남았다. Toad에서 Team Coding 툴바 중 “Log on To VCS Provider” 아이콘은 선택하자.



 

로그인 창에서 Repositorys는 그림처럼 입력한다. VCS Provider 설정화면에서 서버명까지 입력했기에, Repository의 나머지 이름을 입력한다. 프로젝트명은 빼고 레파지토리명까지만 입력한다. Working Directory 항목에는 좀전에 생성하고 Checkout한 로컬 폴더 경로를 입력한다.

유저명과 패스워드는 SVN Server에 생성한 계정정보를 입력한 후 OK 버튼을 누르면 Toad에서 SVN 서버로 로그인한다.


 


로그인이 정상적인지 확인하려면 Team Coding Toolbar 중 “View Team Coding Status for this session” 툴바를 클릭해서 위 그림처럼 모든게 녹색 체크이면 정상인 것이다.

4.4. Configure Code Control Groups

이제 정말 마지막 작업들만 남았다. Toad Team Coding Toolbar에서 “View/Configure Code Control Groups” 버튼을 클릭한다.

Code Control Group에서는 버전관리나 Team Coding할 Oracle Object와 Subversion Project와 매핑을 해준다.

Code Control Group 팝업창에서 첫번째 아이콘인 “Add Group” 아이콘을 클릭한다.


하단의 VCS Project를 우리가 생성한 SVN 프로젝트를 선택하고 Group name 항목은 프로젝트명과 동일하게 입력한다. (사실 아무거나 입력해도 상관없다.)


추가한 Code Control Group에서 관리할 Oracle Object를 지정하는 화면이 실행된다. 관리할 스키마 등의 정보를 추가 하자.


끝으로 이미 Code Control Group 화면에서 관리하고자 지정했던 스키마가 가진 PL/SQL Object를 VCS Provider 및 Team Coding 환경에 Export 하면 Toad, File, SVN 모두 싱크가 맞아진다.

Code Control Groups 화면에서 Group 명을 선택한 후 “Export to VCS” 버튼을 클릭한다.



클릭하면 미리 매핑한 스키마가 소유한 package, function, trigger, procedure, type 등의 object 목록이 나타나며 OK 버튼을 누르면 아래 그림처럼 SVN에 Commit할 때 버전을 어떻게 처리할 것인지 묻는 대화상자가 나온 후 동기화 작업이 진행된다.



두번째 옵션을 선택하자.



해당 Oracle Object가 정상적으로 Subversion에 추가되었다는 메시지가 출력된다.

모든 설정 작업은 끝났다.

5. Test & Others View

5.1. Version Control Browser

Version Control Browser는 Subversion에 저장된 파일(Oracle Object 스크립트) 목록을 조회하고, 버전 히스토리를 볼 수 있으며 해당 파일을 체크아웃/체크인 할 수 있는 일종의 VCS Provider Client이다.


아래 버전별 소스 비교 화면은 위의 “Version Control Browser” 화면의 우측 하단의 History 목록에서 우측마우스 클릭> “View Differences” 메뉴 선택 후 나타난 비교화면이다. Compare 기능도 다양하고 아주 쓸만하다.


5.2. Team Coding Options

Menu > View > Toad Options 항목 중 Source Control 부분은 Team Coding에 대한 몇 가지 설정을 할 수 있다.


5.3. Team Coding Viewer

Team Coding Viewer는 버전관리하는 oracle object에 대한 status를 조회하는 화면이다. Team Coding Viewer는 위 화면의 Version Control Browser 보다 훨씬 로딩 속도가 빠르다.

 

5.4. Source 편집.

5.4.1. 체크아웃

스키마 브라우저나 에디터에 열리는 스크립트를 편집하려고 시도해 보라. Code Control Group에 지정된 Object는 편집이 안된다. 편집을 하기 위해서는 Team Coding Toolbar에서 Check Out 버튼을 클릭해야한다. 체크아웃하면 토드는 SVN에서 소스를 가져와 파일에 싱크를 맞춘후 에디터에 로드한다.

만일 신규 스크립트의 경우에는 스크립트를 작성 후 컴파일하여 Oracle에 반영한 후 체크아웃 하면 토드는 신규이므로 SVN에 먼저 Commit하여 저장한 후 로컬레파지토리 경로로 파일을 생성한다.

체크아웃을 하면 SVN과는 달리 Toad는 Oracle 객체를 Lock을 한다. 다른 사람은 Lock한 사람이 체크인 하지 않는 한 소스를 편집할 수 없다.

5.4.2. 체크인

소스 개발 및 수정이 끝났으면 컴파일하여 Oracle에 반영하고 체크인 버튼을 눌러 SVN에 Commit 작업이 이루어 지도록 한다. 체크인시에도 토드는 로컬 레파지토리의 파일을 먼저 싱크하고, svn에 commit 하게 된다. 체크인 된 소스는 다른 사람이 편집할 수가 있다.

 


Conclusion

Toad Team Coding을 이용 하기 위해서 이렇게 많은 작업을 해야 한다니 힘이 들긴 한다.

구성이 복잡한 것 외에 또 다른 단점을 꼽으라면 체크아웃/체크인시에 생각보다 Load가 많이 발생한다. 파일과 SVN, Toad Repository까지 모두 싱크 작업을 하려니 시간이 조금 걸릴 듯 싶기는 하지만.. 그래도 빠르게 팍팍 소스가 로드되던 팀 환경 없는 방식과 비교하면 느린 것은 틀림이 없다.

하지만, PL/SQL 소스 관리는 정말 편리하다. SVN의 모든 잇점을 모두 다 누릴 수는 없지만 핵심적인 기능은 전부 이용가능하며, Toad Team Coding이 주는 혜택까지.. 반드시 사용해 볼만한 기능임에는 틀림없다.




* subversion이 아닌 cvs와 연동시 command-line tool 지정시 cvs.exe는 나만 그런지는 모르겠지만 cvs 서버(유닉스 환경)에 접속이 제대로 되지 않았다. cvsnt를 설치하여 cvsnt 폴더에 있는 cvs.exe를 지정하니 cvs 서버 접속이 정상적으로 잘 되었다. 이것을 몰라 한참 고생했던거라  cvs와 연동하실 분은 먼저 cvs.exe로 접속해보고, 잘 안되면 바로 cvsnt로 갈아타시길..

반응형