빌드 환경 변수 설정(소스 배포)

빌드 환경 변수는 소스 코드에서 함수를 배포할 때 구성 정보를 빌드팩에 전달할 수 있는 키-값 쌍입니다. 예를 들어 빌드 시 컴파일러 옵션을 맞춤설정하고, 빌드 시간 인증서를 지정하고, 매개변수를 구성하는 등의 작업을 수행해야 할 수 있습니다.

이 페이지에서는 빌드 시 사용할 수 있는 빌드 환경 변수를 설정하는 방법을 보여줍니다. 이 페이지는 Cloud Run에서 함수를 배포하는 플랫폼 개발자와 관련이 있습니다.

시작하기 전에

Cloud Build API를 사용 설정합니다.

gcloud services enable cloudbuild.googleapis.com

필요한 역할

소스에서 배포하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

Cloud Run과 연결된 IAM 역할 및 권한 목록은 Cloud Run IAM 역할Cloud Run IAM 권한을 참조하세요. Cloud Run 서비스가 Cloud 클라이언트 라이브러리와 같은 Google Cloud API와 상호작용하는 경우에는 서비스 ID 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한액세스 관리를 참조하세요.

빌드 환경 변수 설정

빌드 환경 변수를 설정하여 새 변수를 설정하거나 기존 빌드 변수를 완전히 대체할 수 있습니다.

gcloud

소스 코드에서 함수를 배포할 때 빌드 환경 변수를 설정할 수 있습니다.

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --set-build-env-vars KEY1=VALUE1,KEY2=VALUE2

다음과 같이 바꿉니다.

  • SERVICE를 Cloud Run 함수 이름으로 바꿉니다.
  • FUNCTION_ENTRY_POINT를 소스 코드에 있는 함수의 진입점으로 바꿉니다.
  • KEY1=VALUE1,KEY2=VALUE2를 함수와 함께 배포되어 구성 정보를 빌드팩에 전달할 수 있는 변수 이름과 해당 값의 쉼표로 구분된 목록으로 바꿉니다.

빌드 환경 변수 업데이트

기존 함수의 빌드 환경 변수를 업데이트할 수 있습니다. 이는 비파괴적인 접근 방식으로, 빌드 환경 변수를 변경 또는 추가하지만 빌드 환경 변수를 삭제하지는 않습니다.

gcloud

기존 함수의 빌드 환경 변수를 업데이트하려면 다음 안내를 따르세요.

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --update-build-env-vars KEY1=VALUE1,KEY2=VALUE2

빌드 환경 변수 삭제

기존 함수의 빌드 환경 변수를 삭제할 수 있습니다.

gcloud

빌드 환경 변수를 삭제하려면 기존 함수에 --remove-build-env-vars를 사용합니다.

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --remove-build-env-vars KEY1=VALUE1,KEY2=VALUE2

또는 기존 함수에 --clear-build-env-vars를 사용하여 빌드 환경 변수를 삭제할 수 있습니다.

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --clear-build-env-vars KEY1=VALUE1,KEY2=VALUE2

빌드 환경 변수 파일

기존 함수에는 빌드 환경 변수 파일을 사용합니다.

gcloud

파일에서 빌드 환경 변수를 설정하려면 다음 안내를 따르세요.

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --build-env-vars-file FILE_NAME.yaml

FILE_NAME.yaml을 바꿉니다. 여기서 파일 콘텐츠는 다음과 같습니다.

 KEY1: VALUE1
 KEY2: VALUE2