일단 여기까지는 알겠고, 나는 내 노트북에서 개발하고, 렌더링 PC는 회사에 두고 24시간 켜둘거야. 지금 포멧하고 다시 완전 깔끔한 상태에서 할건데 , 그럼 개발은 내 노트북, 랜더링과 자료저장은 로컬데스크탑이야. 인터넷으로 연결되지만 물리적으로 떨어져 있어. 그리고 개발은 계속 되어서 업데이트 되는데, PC의 업데이트는 어떻게 되는거야, 프로그램으로 만들어서(.exe) 설치해서 하는거야. 아니면 개발코드상태로(폴더에서 개발상태에서) 깃허브를 통해 내 노트북과 데스크탑이 동기화 하는거야?

결론부터 말씀드리면, 개발 단계에서는 .exe로 매번 만드는 방식은 절대 추천하지 않습니다. 너무 비효율적입니다.

“Git(깃허브) 동기화 + 원격 실행(PM2)” 방식이 정답입니다.
노트북에서 코드를 수정해서 깃허브에 ‘쏘면(Push)’, 사무실 데스크탑이 그걸 ‘받아서(Pull)’ 자동으로 최신 상태로 렌더링을 돌리는 구조가 가장 이상적입니다.

물리적으로 떨어져 있는 두 PC를 “하나의 팀”처럼 움직이게 하는 **[원격 개발 및 배포 아키텍처]**를 정리해 드립니다.


1. 전체 흐름도 (Workflow)

  1. 개발 (노트북): 카페나 집에서 코드 수정 후 GitHub에 Push.

  2. 중계 (GitHub): 코드가 저장되는 클라우드 저장소.

  3. 동기화 (데스크탑): 사무실 PC가 GitHub에서 변경된 코드를 Pull.

  4. 실행 (데스크탑): PM2라는 도구가 변경된 코드를 감지하고 프로그램을 재시작(Reload).

  5. 저장 (데스크탑): 렌더링된 결과물은 데스크탑의 대용량 하드디스크에 저장.


2. 구체적인 설정 방법 (Step-by-Step)

포맷 후 깔끔한 상태에서 시작한다고 하셨으니, 아래 순서대로 세팅하시면 됩니다.

A. 개발용 노트북 (Development)

평소 하시던 대로 하시면 됩니다. 단, .gitignore 설정이 생명입니다.

  • .gitignore 파일에 꼭 넣어야 할 것:

    • node_modules/ (너무 무거움)

    • output/ (결과물 영상은 깃허브에 올리면 안 됨)

    • temp/ (임시 파일)

    • .env (API 키 등 비밀번호)

B. 사무실 데스크탑 (Production Server)

이 PC는 이제 ‘컴퓨터’가 아니라 **’서버’**입니다.

  1. 필수 설치: Node.js, Git, FFmpeg, Chrome (Puppeteer용)

  2. Git Clone: 노트북에서 올린 코드를 내려받습니다.

    Bash

    git clone https://github.com/사용자ID/video-factory.git
    cd video-factory
    npm install
    

  3. PM2 설치 (핵심 도구):
    Node.js 프로그램을 죽지 않는 좀비로 만들어주고, 24시간 관리해주는 도구입니다.

    Bash

    npm install pm2 -g
    


3. 업데이트는 어떻게 자동으로 하나요?

노트북에서 코드를 고쳤을 때, 사무실 PC가 알아서 업데이트하게 만드는 두 가지 방법이 있습니다.

방법 1: 가장 현실적인 방법 (Chrome 원격 데스크톱 활용)

가장 추천합니다. 개발 초기에는 에러가 날 수 있으니까요.

  1. 노트북에서 코드를 git push 합니다.

  2. Chrome 원격 데스크톱으로 사무실 PC에 접속합니다.

  3. 터미널에서 git pull 치고 pm2 restart all 입력합니다. (끝)

방법 2: 완전 자동화 (Watch + Script)

사무실 PC에 **”10분마다 깃허브를 검사해서 새 버전이 있으면 받아오는 봇”**을 심어두는 방식입니다.

  1. 사무실 PC 프로젝트 폴더에 update.js 같은 간단한 스크립트를 만듭니다. (Node.js의 simple-git 라이브러리 활용)

  2. 이 스크립트가 주기적으로 git pull을 시도하고, 변경 사항이 있으면 스스로를 재시작하게 합니다.

    • 이 부분은 초기 세팅이 조금 복잡할 수 있으니, 일단 방법 1로 시작하시고 안정화되면 방법 2로 넘어가는 것을 추천합니다.


4. 자료 저장소 문제 (데이터의 물리적 위치)

**”자료 저장은 로컬 데스크탑”**이라고 하셨는데, 아주 좋은 선택입니다.

  • 코드(레시피): 노트북 ↔ 데스크탑 동기화 (Git으로 가볍게 왔다 갔다 함)

  • 영상 소스/결과물(재료/요리): 데스크탑의 하드디스크(D드라이브 등)에만 보관.

  • 주의사항:

    • 노트북에서 개발할 때, 데스크탑에만 있는 거대한 영상 소스 파일이 필요할 때가 있습니다.

    • 이때는 노트북에 **샘플용 저용량 더미 파일(Dummy file)**을 넣어두고 개발하세요.

    • 실제 렌더링은 데스크탑이 하니까, 데스크탑에는 고화질 원본을 넣어두면 됩니다.

요약

  1. EXE 만들지 마세요. 소스 코드 상태로 실행합니다.

  2. Git을 사용하세요. 노트북과 데스크탑의 연결 고리입니다.

  3. PM2를 쓰세요. 사무실 PC에서 node index.js 대신 pm2 start index.js를 쓰면, 에러가 나서 튕겨도 알아서 다시 살아나고, 컴퓨터 껐다 켜도 알아서 실행됩니다.

데스크탑에 PM2를 설치하고 세팅하는 명령어가 필요하시면 말씀해 주세요. 바로 알려드리겠습니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다