dev/powerbuilder

파워빌더에서 Git 으로 버전관리

두억시니 2019. 3. 27. 23:37

파워빌더에서의 버전관리(version control, revision control), 소스 코드 관리(source code management, SCM)는 정말 너무 불편하고, 번거롭기만 했었습니다.

 

지금까지 저의 경험을 정리해보면,

 

1. 윈도우 공유폴더로 공유 : 직원들과 의사소통으로 형상관리, 뷁!

2. 자체 개발한 버전관리 시스템을 이용 : 각각의 유저들이 Lock을 걸고 사용하는 방식인데, 그나마 가장 편리했네요.

3. 서브버전(Subversion) : 추가 확장(PBSCC Proxy)와 함께 이용했는데 많이 불안합니다.

4. 파워빌더 자체 내장(PB Native) : 위의 2번 다음으로 유용하지만, 아주 기초적인 Lock 방식 정도만 사용가능한 수준

 

이런 방법등을 사용해보니, 그나마 2번의 경우가 무난히 사용할수 있었지만, 그마저도 이직한뒤엔 사용할수가 없게되니 너무 답답하더군요. 그러던중 파워빌더 2017 R2 이상에서 Git 과 Subversion 이 자체 내장되어 있다는 소식을 듣고 한번 세팅에 도전 해봤습니다. 물론 이전에도 Git 을 지원하는 add-on 같은게 있었는데, 상당히 불안정 하거나 유료였던 기억이 나네요.

 

< 준비물 >

1. 파워빌더 2017 R2 이상 : 이 문서는 파워빌더 2017 R3로 작성하였는데, R2 버전에서도 사용해봤지만, 2017 일반 버전에선 확인해보지 못했습니다.

2. 원격저장소 : GitHub, GitLab 등, 각각의 특징을 파악하시고 가입하세요. 둘다 기본적인 기능은 무료입니다.

3. Git Client (옵션) : https://git-scm.com/ 에서 다운로드 받을수 있습니다. 이게 필수적으로 꼭 필요한줄 알았는데, 파워빌더 자체 내장되어있다보니 특별히 필요는 없더군요. 당연히 Git 의 기초지식이 있다면 더 쉽게 이해할수 있을겁니다.

 

< 파워빌더에서 Git 설정 >

 

00. 파워빌더에서 적당한 위치에 WorkSpace, Target 등을 구성했습니다.

  • 폴더위치 : C:\src\2017R3\test
  • WorkSpace : test
  • Target : test

 

[그림 1-1] 좌측의 System Tree - WorkSpace 에 마우스 오른쪽 버튼을 누르면 팝업 윈도우가 나타납니다. Add to Source Control 을 선택합니다.

 

[그림 2-1] Git 을 선택하고 OK 버튼을 클릭합니다.

 

[그림 3-1] 발행자와 Email을 입력합니다.

 

[그림 4-1] Comment에 Commit 메시지를 입력하고 OK 를 클릭합니다.

Git 을 초기화 하면서 Target에 속해있는 각각의 pbl들은 ws_objects 라는 폴더안의 pbl의 이름과 동일한 폴더가 만들어지고, 각각의 Object들은 마치 Export 한것처럼 파일로 만들어지게 됩니다. [그림 4-1] 참고.

 

 

[그림 5-1] Output 에 메시지가 출력되고, System Tree의 각각의 Object 의 아이콘 왼쪽에 초록색 점이 하나씩 생겨났습니다. Git 의 Local 저장소 초기화가 완료되었다는 뜻입니다.

 

 

[그림 6-1] w_test_main Window Object 에 스크립트를 넣고 저장을 하게되면 아이콘이 초록색 V 모양으로 바뀐걸 볼수 있습니다. 수정되었다는 뜻으로, 되돌리거나 비교할수 있습니다.

초록색 Check 아이콘을 Lock을 걸었다는 뜻으로 오해할수 있는데, Git 은 과거에 사용해 오던 Lock 방식의 버전관리가 아닙니다. 저처럼 헛갈리지 마세요. 그냥 '수정되었다' 정도로 이해하는게 좋습니다.

 

[그림 7-1] System Tree의 WorkSpace 에서 마우스 오른쪽 버튼을 누르고, Git Commit 을 선택합니다. 위에서 수정한 Object 하나만 나오는걸 볼수 있습니다. 적당한 Commit Comment를 입력하고 OK 버튼을 클릭합니다.

 

여기까지가 Git 의 Local Repository 설정방법이라고 이해하시면 됩니다. 아래부턴 원격 저장소의 설정 방법입니다. GitHub 나 GitLab 에 가입하세요. 

 

[그림 8-1] GitHub에 가입하고 초기 대문 화면입니다. 좌측 상단의 초록색 New 버튼을 클릭하거나, 우측 상단의 + 버튼을 클릭하고 New Repository 를 선택합니다.

 

[그림 9-1] 저는 test 라는 원격 저장소를 만들었습니다. 공개 설정은 Private(비공개)로 선택하고, 아래 Create repository 초록색 버튼을 클릭합니다.

 

[그림 10-1] https://github.com/[GitHub ID]/test 와 같은 형식의 저장소 주소가 만들어졌습니다.

 

[그림 11-1] 파워빌더로 돌아와서 우리가 만든 WorkSpace를 원격 저장소로 Upload(Push) 해봅시다. WorkSpace 팝업메뉴에서 Git Push 를 선택합니다.

 

[그림 12-1] 적당히 세팅을 완료하고, Test Connection 을 눌러서 GitHub에 접속이 잘되는지 테스트 해보세요.

 

[그림 13-1] 테스트 접속 성공!!! 했다면, [확인] - [OK] 버튼을 눌러 나의 Source 가 GitHub 로 Push 해주세요.

 

 

 

[그림 14-1] 다시 GitHub로 돌아와 새로고침 해보면 앞서 Push 한 내용들이 Commit 메시지와 함께 잘 올라와 있습니다.

여기까지가 Upload(Push) 였다면, 이제부턴 새로운 저장소를 가져오는(다운로드) 방법에 대해 알아봅시다. 정확히 예기하면 다운로드 라기 보단 Init/Pull 이라고 하는데 일단 그냥 다운로드 라고 칩시다.

 

적당한 위치에 소스를 가져올 폴더를 생성합니다. 저의 경우 C:\test 라는 폴더를 생성했습니다.

 

[그림 15-1] 아무것도 없는 빈 상태의 (No WorkSpace) 에 마우스 오른쪽 버튼을 누르고 나오는 팝업메뉴에서 Connect to Workspace 를 선택합니다.

 

[그림 16-1] Checkout Directory 가 대상 폴더입니다. 위에서 만든 폴더 위치를 선택하고 OK 버튼을 눌러줍니다. 내 GitHub ID가 아니라 다른 ID로도 가능하지만 경우에 따라서 Collaborators(협력자) 권한이 필요할수도 있습니다.

 

[그림 17-1] 이렇게 가져오기가 완료 되었다.

 

제가 이런저런 테스트를 해봤더니, 잘 동작합니다. 아직 Branch 는 해보지 않았지만, 뭐 잘 될거라고 믿고 있습니다.