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

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

이 페이지에서는 빌드 시간에 사용할 수 있는 빌드 환경 변수를 설정하는 방법을 보여줍니다. 이 페이지는 소스에서 Cloud Run 서비스 또는 함수를 배포하는 플랫폼 개발자를 대상으로 합니다. 빌드 환경 변수 gcloud CLI 플래그는 소스 배포(--source)에 지원되며 컨테이너 이미지 배포(--image)에는 지원되지 않습니다.

시작하기 전에

  • Cloud Run Admin API 및 Cloud Build API를 사용 설정합니다.

    gcloud services enable run.googleapis.com \
        cloudbuild.googleapis.com

    Cloud Run Admin API를 사용 설정하면 Compute Engine 기본 서비스 계정이 자동으로 생성됩니다.

필요한 역할

개발자 또는 관리자가 배포자 계정과 Cloud Build 서비스 계정에 다음 IAM 역할을 부여해야 합니다.

클릭하여 배포자 계정에 필요한 역할 보기

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

Cloud Build 서비스 계정에 필요한 역할을 보려면 클릭

Cloud Build는 이 동작을 재정의하지 않는 한 Compute Engine 기본 서비스 계정을 기본 Cloud Build 서비스 계정으로 자동으로 사용하여 소스 코드와 Cloud Run 리소스를 빌드합니다. Cloud Build가 소스를 빌드할 수 있게 하려면 관리자에게 프로젝트의 Compute Engine 기본 서비스 계정에 Cloud Run 빌더(roles/run.builder)를 부여해 달라고 요청하세요.

  gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
      --role=roles/run.builder
  

PROJECT_NUMBER를 Google Cloud프로젝트 번호로, PROJECT_ID를 Google Cloud프로젝트 ID로 바꿉니다. 프로젝트 ID와 프로젝트 번호를 찾는 방법은 프로젝트 만들기 및 관리를 참조하세요.

Compute Engine 기본 서비스 계정에 Cloud Run 빌더 역할을 부여하려면 전파하는 데 몇 분 정도 걸립니다.

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

빌드 환경 변수 설정

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

gcloud

소스 코드에서 서비스를 배포할 때 빌드 환경 변수를 설정하려면 --set-build-env-vars 플래그를 사용합니다.

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

다음과 같이 바꿉니다.

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

함수를 배포하는 경우 소스 코드의 함수 진입점과 함께 --function 플래그를 추가합니다.

빌드 환경 변수 업데이트

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

gcloud

기존 서비스의 빌드 환경 변수를 업데이트하려면 --update-build-env-vars 플래그를 사용합니다.

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

함수를 배포하는 경우 소스 코드의 함수 진입점과 함께 --function 플래그를 추가합니다.

빌드 환경 변수 삭제

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

gcloud

기존 서비스의 빌드 환경 변수를 삭제하려면 --remove-build-env-vars 플래그를 사용합니다.

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

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

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

함수를 배포하는 경우 소스 코드의 함수 진입점과 함께 --function 플래그를 추가합니다.

빌드 환경 변수 파일 사용

기존 함수에 빌드 환경 변수 파일을 사용할 수 있습니다.

gcloud

파일에서 빌드 환경 변수를 설정하려면 --build-env-vars-file 플래그를 사용합니다.

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

FILE_NAME.yaml을 바꿉니다. 파일의 콘텐츠는 다음과 같이 표시됩니다.

 KEY1: VALUE1
 KEY2: VALUE2

함수를 배포하는 경우 소스 코드의 함수 진입점과 함께 --function 플래그를 추가합니다.