github private 레포지토리를 EC2에 배포

SUN·2025년 8월 24일

private 레포지토리에 접근하기 위해 설정을 해주어야한다.

1.

AWS EC2에서 ubuntu를 연결하고

ssh-keygen -t ed25519 -C "코멘트입력" -f ~/.ssh/id_ed25519 -N ""

위 코드를 입력한다. "코멘트 입력" 부분은 자유롭게 작성하면 된다.(따옴표 포함)
그러면 아래의 문구와 함께 키를 시각적으로 보여준다.

The key's randomart image is:
이상한 그림

실행하고 나면 id_ed25519 / id_ed25519.pub 두 파일이 ~/.ssh 폴더에 생긴다.

2. 다음 단계는 공개키(.pub 파일) 내용을 확인해서 GitHub에 등록

cat ~/.ssh/id_ed25519.pub

위 명령어를 입력하면 'ssh-ed25519 AAAAC3Nza...' 로 시작하는 한 줄짜리 문자열이 출력

위 문자열을 GitHub 레포의 Settings → Deploy keys → Add deploy key 에 붙여넣기

title은 아무렇게나 짓고 key에 입력 그리고 Allow write access → 체크 안 함 (읽기 전용)

3. GitHub SSH 연결 테스트

ssh -T git@github.com

위 코드 입력(GitHub에서 SSH 접속용 전용 계정)

Are you sure you want to continue connecting (yes/no/[fingerprint])?
위 질문에 yes

4. 레포지토리 연결

git clone git@github.com:아이디/레포지토리.git

내 레포지토리의 ssh 부분을 복사해서 연결하기

5. 세팅하기

# 1) 패키지 업데이트
sudo apt-get update

# 2) 필수 빌드 도구 (native 모듈 대비)
sudo apt-get install -y build-essential python3 git

# 3) Node.js LTS 설치 (NodeSource 사용, NVM 불필요)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

# 4) 버전 확인
node -v
npm -v

6. 환경변수 세팅

만약 레포지토리 내 특정 폴더만 필요하면 거기로 들어간다.

레포지토리 이동 후

nano .env

.env 파일 생성

환경변수 입력 후

Ctrl+O → Enter → Ctrl+X 로 저장하기

수정도 같은 방법으로 간으

7. pm2 설치

Express 백엔드를 EC2에서 상시 돌리고 싶다면 pm2 같은 프로세스 매니저를 설치

sudo npm install -g pm2

설치 확인

pm2 -v

8. 실행

npm 설치

npm install

실행

npm run build

9. 잘 연결됐는지 확인

내부 :

curl -i http://127.0.0.1:3001/healthz

위 명령어를 입력하여 HTTP/1.1 200 OK 와 ok 가 뜨면 정상

외부 :

http://<EC2-퍼블릭IP>:3001/healthz

브라우저나 로컬 터미널에서 위 경로 입력

  • 이때 expres 백엔드 코드에 healthz 코드가 있어야한다.
  • 외부에서 확인이 안된다면 보안그룹에서 규칙 추가

규칙 추가(Add rule):

Type: Custom TCP
Port range: 3001
Source:

  • 개발/테스트 용: 0.0.0.0/0 (전 세계에서 접근 가능 → 나중엔 보안상 Nginx/80,443만 열어두는 게 좋아요)
  • 안전하게 하고 싶으면 본인 IP만 입력 (My IP 선택)
profile
안녕하세요!

0개의 댓글