빌드 환경 변수는 소스 코드에서 함수를 배포할 때 구성 정보를 빌드팩에 전달할 수 있는 키-값 쌍입니다. 예를 들어 빌드 시 컴파일러 옵션을 맞춤설정하고, 빌드 시간 인증서를 지정하고, 매개변수를 구성하는 등의 작업을 수행해야 할 수 있습니다.
이 페이지에서는 빌드 시 사용할 수 있는 빌드 환경 변수를 설정하는 방법을 보여줍니다. 이 페이지는 Cloud Run에서 함수를 배포하는 플랫폼 개발자와 관련이 있습니다.
시작하기 전에
Cloud Build API를 사용 설정합니다.
gcloud services enable cloudbuild.googleapis.com
필요한 역할
소스에서 배포하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Cloud Run 소스 개발자(
roles/run.sourceDeveloper
) -
서비스 계정 사용자(
roles/iam.serviceAccountUser
)
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