붉은거위 서비스 에셋운영에 대하여..
- 둥지
- Concept
- 분류
- Service
- 등록일
redgoose 서비스를 계속 운영해오고 여러가지 서브 프로젝트들이 만들어지니 공통으로 사용되는 요소들도 계속 생겨나게 된다.
현재 주로 서비스로 만들어지고 있는 프로젝트들은 다음과 같다.
- redgoose.me
- note.redgoose.me
- admin.redgoose.me
- slideshow.redgoose.me
이정도 되는데 이것들이 서로 개별적인 프로젝트지만 공통적으로 사용되는 요소들 업데이트 및 관리가 상당히 까다롭다.
현재 공통적으로 사용되는 요소가 markdown-style이지만 여러가지 종류로 늘어날거 같다. ㅠ
이걸 어떻게 효과적으로 에셋을 제공하고 업데이트를 할지에 대하여 고민할때가 왔다.
현재는 markdown-style이라는 에셋을 업데이트하면 3군데의 프로젝트를 새로 빌드해야한다. 이 방식이 장단점이 드러나 있지만 이런 공통적인 요소들이 점점 늘어나면 분리하는것이 좋아 보인다.
최근에 그리드 이미지 컴포넌트를 만들면 좋겠다는 생각이 들어 여기까지 고민을 하게 되었다.
별도 도메인으로 호스팅 vs 패키지
에셋을 각 프로젝트에 포함시킬 수 있도록 재료를 제공해줄 수 있고, 별도의 도메인으로 담아두고 별도의 url로 불러올 수 있을것이다.
패키지에 넣으면 각 프로젝트에다 버전을 격리화 할 수 있지만 업데이트가 상당히 귀찮아진다. 흐음..
시간이 지날수록 업데이트에 대한 피로도가 커지게 될것이다. (분량이 적으면 괜찮지만..)
요소가 많아질것을 염두하면 별도의 도메인으로 추가하는게 좋을거같다.
어떤 에셋이 추가될까?
현재 공통적으로 사용하고 있는 에셋은 markdown 스타일시트 뿐이다. 하지만 현재 예상되는 에셋은 다음과 같이 생각할 수 있다.
- 스타일시트
- 이미지 (앱 아이콘, 배너)
- 웹 컴포넌트
- 글꼴
만약 별도 도메인으로 사용된다면 어떤 기술스택으로 구성하면 될까?
이 부분은 노드로 서버 띄우는것보다 nginx로 돌리는게 좋을거 같다.
빌드는 개발할때 모두 끝내고 dest만 도커에 집어넣는게 어떨까 싶다.
이부분까지 노드를 돌리는게 좋아보이진 않는다.
3개의 댓글
아마도 사용하는 주소의 형태는 다음과 같이 될것이다.
이런 모습으로 접근할 수 있을것이다.
좀 연구해봐야 하는건 docker로 설정한다면 docker 컨테이너 속에 엔진엑스의 설정이 우선이 되는리 리버스 프록시의 엔진엑스 설정이 우선이 되는지 좀 확인이 필요하다.
자바스크립트를 사용하는 프로그램은 package.json에서
workspaces항목을 이용하는게 좋을것이다.만들 프로그램이
markdown-style하나만 존재하는것이 아니고 컴포넌트 부분들도 존재하기 때문에 여러가지 패키지로 존재할것이다.작업할때는 워크스페이스/패키지 속에서 작업하고 빌드하면 루트 패키지의 아웃풋 공간으로 밀어넣으면 될것이다.
그 공간에다 nginx 루트경로로 정하면 될듯하다.
docker에서 노드 돌리면 절대로 안되고 경량화에 신경써야할듯하다. 아마도
.dockerignore를 활용해야할지도..필요한 요소들
이게 확실하게 정해져야 작업을 진행할 수 있을것이다.