현재 메인 개발툴로 이클립스 PDT를 사용하고 있지만 이런 전통적인 IDE가 웹개발에 어울리지 않는다라는 생각을 계속하고 있었습니다. 이클립스같은 IDE는 로컬에서 소스를 개발하고 로컬에서 결과물을 컴파일해 확인하는 흐름에 맞게 설계되었는데 웹개발은 개발 과정과 결과물을 확인하는 위치 - 로컬과 서버 - 가 다르다라는 차이가 있기 때문입니다.
최근에 이클립스로 구성한 개발 환경에 문제가 있어 다른 툴을 사용해볼 생각으로 아톰을 살펴보았지만 얼마 있지 않아 깃허브로부터 팽당한 운명으로 보여 그만두고 이클립스에 좀 편하게 작업을 하게해줄 무언가가 있지 않을까하고 기능들을 보다가 찾아낸 것이 ‘Remote Development’ 기능입니다. ssh로 서버에 접속해 파일들을 편집하는 ‘Remote System Explorer’와는 다른 기능입니다. 이 기능은 간단히 말해 git을 사용해 로컬과 서버간 소스 싱크를 해주는 기능인데 로컬에서는 이클립스 프로젝트 환경이 제공하는 편의성을 누리면서 결과물 테스트를 할 개발 서버와의 싱크를 자동으로 해준다라는 것입니다.
‘Remote Development’는 기능이나 설정은 단순하지만 제대로된 설명이 없는 것이 가장 큰 문제였습니다. 이런저런 삽질을 하면서 느낀 점은 완성도가 부족해보인다라는 것이었지만 최종 설정을 한후 반나절정도 사용하는 동안에는 오류가 없었습니다. 제가 알아낸 ‘Remote Development’ 설정 과정과 기타 팁들입니다.
1. 우선 ‘Remote Development’는 싱크에 git을 사용하기에 개발 소스가 git으로 관리되는 것이어야 합니다. 싱크에 git을 사용하는 것이지 서버에 있는 소스가 자동으로 저장소에 올라가거나 하지는 않습니다.
2. 소스의 .gitignore 항목에 ‘Remote Development’가 싱크에 사용하기 위해 원격 서버에 생성할 .ptp-sync와 .ptp-sync-folder를 추가합니다.
3. 원격 서버에서 저장소로부터 소스를 가져옵니다. ‘Remote Development’에서는 .gitignore에 포함된 항목을 로컬에서 만들어도 원격에 생성을 해주지 않습니다. 따라서, .gitignore 항목에 있지만 개발 서버 운영에 필요한 파일 생성은 먼저 해두어야 합니다. 생성후에는 로컬에서 수정한 것의 싱크는 정상적으로 됩니다.
4. 이클립스의 설정 → Remote Development → Remote Connections에 원격 서버의 접속 정보를 입력합니다.
5. 신규 프로젝트를 생성합니다. 프로젝트 타입은 php의 경우 ‘Synchronized PHP Project’입니다. 생성할때 리모트 디렉토리는 위에서 만든 원격 서버 소스 위치를 지정해줍니다.
6. 정상적으로 설정되었다면 원격 서버에 있는 소스를 가져와 로컬에 프로젝트가 생성됩니다.
7. composer를 통해 서버쪽에서 패키지를 추가했다면 프로젝트 오른쪽 버튼 메뉴에서 Synchronize → Sync Active Now를 선택하면 됩니다.