워드프레스 플러그인 개발 하시는분들 있으신지 모르겠는데, 로컬환경 개발 중 소스코드 관리에관한 작은 팁입니다.
맥환경인데 윈도우도 될진 모르겠어요.
워프 개발 얘기긴하지만 핵심은 심볼릭링크이니, 패키지폴더 배포식으로 개발되는 같은방식의 node.js 패키지나 각종 확장개발에도 유효하지 않을까 싶습니다.
워프 플러그인개발할때 로컬에서 개발환경을 마련해놓고 개발하는데요(MAMP씁니다). 저는 코드를 외장하드에 또 따로 백업도 해두거든요. 개발중엔 외장하드와 로컬WP안까지 두군데 소스코드가 있다보니 주기적으로 덮어쓰기 백업하는 것도 일이었어요.
무엇보다 git 문제인데요.
워프 플러그인은 워프폴더 내부에 /wp-content/plugins/ 하위에 플러그인패키지루트를 만들어 코딩하잖아요?
/wp-content/plugins/myPluginFolder/myPlugin.php
이렇게 되죠.
여태 git init을 myPluginFolder에 할 수 밖에 없었어요. wp플러그인루트가 git루트를 겸했죠. 그러면 wp 플러그인동작에는 필요하지 않은 파일 README.md, .gitignore기타등등의 참고문서등도 같이 몰아넣었다보니 나중에 라이브서버에 올릴 플러그인 zip파일 만들땐 필요한 것만 골라서 따로 빼내고 그랬거든요.
반대로 외장하드에있는걸 수정하고 로컬wp폴더로 넣는식으로 해도 코드 수정때마다 복사해야하는 건 마찬가지고요.
근데 이번에 가상본(심볼릭링크)으로 외장하드에만 소스코드를 두는 방법으로하니까 깔끔하게되었네요. 맥에서 가상본 만들기는 윈도우에서는 ‘바로가기’만드는 것과 같고요(아마도요).
일단 외장하드에
git루트폴더/myPluginFolder/플러그인파일들
이 구조로 해두면 git루트폴더에는 .gitignore, README.md 등이 들어있게되고요. 그 하위에 myPluginFolder를 둘 수 있어서 깔끔합니다.
외장하드의 myPluginFolder의 심볼릭링크를 MAMP의 wp-content/plugins/ 폴더에 넣으면 플러그인 인식되더라고요.
근데 이게 macOS GUI에서 폴더를 마우스 우클릭해서 ‘가상본만들기’메뉴로 만든 가상본은 wp에서 인식이 안되고 터미널에서 심볼릭링크를 만들어줘야 인식이 되었던거네요.
ln -s /원본외장하드경로/git루트폴더/myPluginFolder /MAMP WP경로/wp-content/plugins
이렇게 하면
원본경로의 myPluginFolder 에대한 심볼릭링크가 wp플러그인 폴더하위에 만들어지고 MAMP로 설치한 워프에서도 플러그인을 인식하네요.
그래서 이제 git루트폴더를 더 상위폴더로 둘 수 있고 소스코드도 한 곳에서 관리되니 깔끔합니다.