[typescript] 타입스크립트와 GCP의 Cloud Run과의 연동 방법

본 블로그 포스트에서는 타입스크립트 애플리케이션을 구축하고 Google Cloud Platform의 (GCP) Cloud Run에 배포하는 방법을 안내하겠습니다.

필수 사전 요구사항

  1. GCP 계정
  2. Google Cloud SDK 설치
  3. 최신 버전의 Node.jsNPM 설치

단계 1: 타입스크립트 애플리케이션 설정

먼저 타입스크립트로 된 애플리케이션을 설정하기 위해 프로젝트 디렉토리를 만들고, 다음 명령을 사용하여 타입스크립트 의존성을 추가합니다:

mkdir my-ts-app
cd my-ts-app
npm init -y
npm install typescript @types/node ts-node

패키지 설치가 완료되면, tsconfig.json 파일을 생성하고 다음과 같이 설정합니다:

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "outDir": "dist"
  },
  "include": [
    "src/**/*"
  ]
}

그리고 타입스크립트 애플리케이션의 진입점인 index.ts 파일을 생성합니다:

const greeting: string = "Hello, Cloud Run!";
console.log(greeting);

단계 2: 도커 이미지 생성

애플리케이션을 Cloud Run에 배포하려면 먼저 Docker 이미지를 생성해야 합니다. 프로젝트 디렉토리에 Dockerfile을 생성하고 다음과 같이 설정합니다:

FROM node:14-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
CMD ["npm", "start"]

사용되는 npm command가 달라질 수 있는걸 고려하여 달리해 주세요. 위에서 생성한 index.ts 파일을 포함한 모든 파일들을 Docker 이미지로 복사합니다.

다음으로, 다음 명령어를 실행하여 Docker 이미지를 빌드합니다:

docker build -t my-ts-app .

단계 3: Cloud Run에 배포

프로젝트를 Cloud Run에 배포하기 위해, 먼저 GCP 프로젝트를 설정해야 합니다:

gcloud config set project YOUR_PROJECT_ID

다음으로, 다음 명령을 실행하여 Docker 이미지를 GCP의 Container Registry에 푸시합니다:

gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/my-ts-app

이제 다음 명령을 사용하여 Cloud Run 서비스를 생성합니다:

gcloud run deploy --image gcr.io/YOUR_PROJECT_ID/my-ts-app --platform managed

모든 설정이 완료되면, Cloud Run에 배포된 타입스크립트 애플리케이션을 웹 브라우저를 통해 확인할 수 있을 것입니다.

간단하게, 이렇게하여 타입스크립트 애플리케이션을 GCP의 Cloud Run에 연동하는 방법에 대해 살펴봤습니다. 더 자세한 내용은 GCP 공식 문서를 참고하시기 바랍니다.