본문 바로가기
블로그로 돌아가기
개발 가이드

Google Cloud Run 자동 배포 시 환경변수 설정하기

APPPRO··11분 읽기

GitHub와 Cloud Run을 연결해서 자동 배포는 되는데, 서비스가 계속 실패한다면? 환경변수 설정을 확인해보세요!

🤔 문제 상황

Next.js 프로젝트를 Google Cloud Run에 배포했는데, 로컬에서는 잘 되던 서비스가 배포 후 작동하지 않는 경우가 있습니다.

원인: .env 파일이 Git에 포함되지 않아서 Cloud Run에서 환경변수를 읽지 못합니다.

# 로컬에서는 .env 파일이 있어서 잘 됨

DATABASE_URL=”postgresql://…”

SOOMGO_EMAIL=”…”

API_KEY=”…”

# Cloud Run에 배포하면?

# → .env 파일이 없어서 에러 발생! 😱


💡 해결 방법: 환경변수를 Cloud Run에 직접 설정하기

두 가지 방법이 있습니다. 상황에 맞게 선택하세요!


방법 1️⃣ 빠른 해결 (5분 소요)

이런 분들께 추천:

  • 빠르게 테스트하고 싶을 때
  • 개인 프로젝트나 개발 환경

단계별 가이드

1. 환경변수 설정 스크립트 만들기

프로젝트 폴더에 set-env.sh 파일을 만들고 아래 내용을 넣습니다:

#!/bin/bash

PROJECT_ID=$1

SERVICE_NAME=”your-service-name”  # 본인의 서비스 이름

REGION=”asia-northeast3″          # 서울 리전

# Cloud Run에 환경변수 설정

gcloud run services update $SERVICE_NAME \

  –region $REGION \

  –update-env-vars “\

DATABASE_URL=여기에_DB_주소,\

API_KEY=여기에_API_키,\

OTHER_VAR=여기에_다른_값”

2. 실행 권한 부여

chmod +x set-env.sh

3. 스크립트 실행

./set-env.sh your-project-id

완료! 이제 서비스를 다시 확인해보세요.


방법 2️⃣ 보안 강화 (10분 소요) ⭐ 추천

이런 분들께 추천:

  • 실제 서비스 운영 환경
  • 비밀번호, API 키 등 민감한 정보 보호 필요

왜 이 방법이 더 좋을까요?

항목방법 1 (직접 설정)방법 2 (Secret Manager)
보안Cloud Run 콘솔에서 보임 😅암호화되어 안전하게 저장 🔐
관리매번 스크립트로 설정한 번 설정하면 자동 적용
적합한 환경개발/테스트프로덕션

단계별 가이드

1. Secret Manager 설정 스크립트 만들기

setup-secrets.sh 파일 생성:

#!/bin/bash

PROJECT_ID=$1

# Secret Manager API 활성화

gcloud services enable secretmanager.googleapis.com

# 비밀 정보 저장 (예시)

echo -n “postgresql://…” | gcloud secrets create DATABASE_URL –data-file=-

echo -n “your-api-key” | gcloud secrets create API_KEY –data-file=-

echo -n “your-password” | gcloud secrets create PASSWORD –data-file=-

2. Cloud Run과 연결하는 스크립트 만들기

update-service.sh 파일 생성:

#!/bin/bash

PROJECT_ID=$1

SERVICE_NAME=”your-service-name”

REGION=”asia-northeast3″

# Secret Manager의 비밀 정보를 Cloud Run에 연결

gcloud run services update $SERVICE_NAME \

  –region $REGION \

  –update-secrets=DATABASE_URL=DATABASE_URL:latest,API_KEY=API_KEY:latest,PASSWORD=PASSWORD:latest

3. 실행 권한 부여

chmod +x setup-secrets.sh update-service.sh

4. 순서대로 실행

# 1단계: Secret Manager에 비밀 정보 저장

./setup-secrets.sh your-project-id

# 2단계: Cloud Run과 연결

./update-service.sh your-project-id

완료! 이제 비밀 정보가 안전하게 관리됩니다.


🚀 자동 배포 설정하기 (보너스)

Secret Manager를 설정했다면, 앞으로 Git Push만 해도 자동으로 환경변수가 적용되게 만들 수 있습니다!

cloudbuild.yaml 파일 수정

프로젝트의 cloudbuild.yaml 파일에 다음 내용을 추가:

steps:

  # … (기존 빌드 단계들)

  – name: ‘gcr.io/google.com/cloudsdktool/cloud-sdk’

    entrypoint: gcloud

    args:

      – ‘run’

      – ‘deploy’

      – ‘your-service-name’

      – ‘–image’

      – ‘gcr.io/$PROJECT_ID/your-image:latest’

      – ‘–region’

      – ‘asia-northeast3’

      # 🔥 여기가 핵심! 환경변수 자동 설정

      – ‘–update-env-vars’

      – ‘NODE_ENV=production,NEXT_PUBLIC_URL=https://…’

      # 🔒 Secret Manager 연결

      – ‘–update-secrets’

      – ‘DATABASE_URL=DATABASE_URL:latest,API_KEY=API_KEY:latest’

이제 이렇게 하면 끝!

git add .

git commit -m “환경변수 설정 완료”

git push origin main

→ GitHub에 푸시하면 자동으로 환경변수가 포함되어 배포됩니다! 🎉


🔍 환경변수가 잘 설정되었는지 확인하기

방법 1: 콘솔에서 확인

  1. Cloud Run 콘솔 접속
  2. 서비스 클릭
  3. “변수 및 보안 비밀” 탭 확인

방법 2: 명령어로 확인

gcloud run services describe your-service-name \

  –region asia-northeast3 \

  –format ‘yaml(spec.template.spec.containers[0].env)’


💡 팁과 주의사항

✅ 꼭 기억하세요

  1. .env 파일은 절대 Git에 올리지 마세요

# .gitignore에 이미 있는지 확인

.env*

  1. 환경변수 이름을 코드와 맞추세요

// 코드에서 사용하는 이름

process.env.DATABASE_URL

// Cloud Run에 설정하는 이름도 동일하게

DATABASE_URL=…

  1. 프로덕션 환경에서는 꼭 Secret Manager 사용
    • 민감한 정보 보호
    • 버전 관리 가능
    • 감사 로그 자동 기록

🚫 피해야 할 실수

  • ❌ API 키를 코드에 직접 하드코딩
  • ❌ .env 파일을 Git에 커밋
  • ❌ env.example에 실제 값 넣기 (플레이스홀더만!)

🎯 정리

빠른 테스트가 필요하다면

방법 1 (직접 설정) 사용

실제 서비스 운영이라면

방법 2 (Secret Manager) 사용

자동 배포를 원한다면

cloudbuild.yaml에 환경변수 설정 추가


📚 더 알아보기


이 글이 도움이 되셨나요? 댓글로 여러분의 경험을 공유해주세요! 💬


태그: #GoogleCloudRun #환경변수 #자동배포 #SecretManager #Next.js #DevOps

AI 인사이트 무료 구독

  • AI 도구로 비용 절감 전략
  • 정부지원사업 성공 사례
  • 매주 금요일 · 스팸 없음

1,800명+ 구독 중

공유하기X (Twitter)

앱프로 전문 서비스

이 글과 관련된 서비스를 확인해보세요

4/10 AI 특강 안내

3시간 만에 AI 업무 자동화의 핵심을 배우세요

2026년 4월 10일 (금)서울 영등포구 당산SKV1센터 오프라인강의비 7만원
신청하기

AI 전환, 지금 시작하세요

AI로 비즈니스를 전환하세요

앱프로의 AX 서비스로 업무 자동화부터 매출 성장까지, AI 기반 비즈니스 전환을 경험하세요.