AI AppPro
블로그AI 도구홈페이지

AI AppPro

소상공인과 중소기업을 위한 실전 AI 활용 가이드.

링크

  • 블로그
  • AI 도구 디렉토리
  • 홈페이지

콘텐츠

  • AI 도구 리뷰
  • 업종별 AI 활용
  • 자동화 플레이북

© 2026 AI AppPro. All rights reserved.

블로그/개발 가이드
개발 가이드

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

APPPRO·1970년 1월 21일·7분 읽기
공유
#Google Cloud#배포#환경변수#Cloud Run

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에 환경변수 설정 추가


📚 더 알아보기

  • Cloud Run 환경변수 공식 문서
  • Secret Manager 시작하기
  • Cloud Run 보안 모범 사례

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


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

이 글에서 소개된 도구가 궁금하신가요?

AI 도구 디렉토리에서 80+ AI 서비스의 가격, 기능, 대안을 비교해보세요.

도구 비교하기 →
← 이전 글2026년 소상공인이 당장 써야 할 AI 도구 5가지다음 글 →ChatGPT vs Claude 비교: 소상공인이 꼭 알아야 할 차이점

무료 뉴스레터

AI 트렌드를 놓치지 마세요

매주 엄선된 AI 뉴스와 소상공인을 위한 실전 활용 팁을 이메일로 받아보세요. 이미 10,000+명이 구독 중입니다.

스팸 없이, 언제든 구독 취소 가능합니다.

← 모든 포스트 보기