Cloud Run 및 Cloud Run 함수 서비스 구성

Cloud Run 또는 Cloud Run 함수에 배포할 때 다음 환경 변수를 사용하여 서비스의 동작을 구성합니다.

컨테이너 이미지에서 이러한 환경 변수를 설정하는 방법을 알아봅니다.

특정 언어에 대한 구성 세부정보는 다음을 참조하세요.

Cloud Run 및 Cloud Run 함수 환경 변수

다음 구성은 애플리케이션과 함수 모두에 대한 서비스 빌드를 지원합니다. 아래의 추가 Cloud Run 함수 환경 변수도 참조하세요.

GOOGLE_ENTRYPOINT

컨테이너가 실행될 때 실행할 명령어를 지정합니다. 이는 Dockerfile의 entrypoint과 동일합니다.

  • 예:
    • Java: java -jar target/myjar.jar
    • PHP: php -S 0.0.0.0:8080 index.php
    • Python: gunicorn -p :8080 main:app

GOOGLE_RUNTIME

런타임이 강제로 선택하도록 합니다. 런타임 빌드팩 이미지가 여러 그룹에 표시되면 첫 번째 그룹의 빌드팩 이미지가 모든 그룹에 사용됩니다.

Node.js 예시: nodejs를 지정하면 Node.js 런타임 빌드팩이 강제로 선택하도록 합니다.

GOOGLE_RUNTIME_VERSION

설치할 런타임 버전을 지정합니다. .NET의 경우 .NET SDK 버전을 지정합니다.

예를 들면 다음과 같습니다.

  • Go: 1.14.1
  • Java: 8
  • Node.js: 13.7.0
  • .NET: 3.1.301

GOOGLE_BUILDABLE

Go, Java, .NET 런타임: 빌드 가능한 단위에 대한 경로를 지정합니다.

Go 예시: ./maindir을 지정하면 maindir을 기반으로 하는 패키지가 빌드됩니다.

GOOGLE_BUILD_ARGS

Java(Maven 및 Gradle) 및 .NET 런타임: 빌드 명령어에 인수를 추가합니다.

Java 예시: -Pprod를 지정하면 mvn clean package ... -Pprod가 실행됩니다.

GOOGLE_MAVEN_BUILD_ARGS

Maven 플러그인을 사용하는 Java 런타임: 기본 Maven 명령어를 지정한 빌드 명령어로 재정의합니다.

GOOGLE_MAVEN_BUILD_ARGS를 지정하지 않으면 기본적으로 다음 명령어가 실행됩니다.

mvn clean package --batch-mode -DskipTests -Dhttp.keepAlive=false

예시: GOOGLE_MAVEN_BUILD_ARGS="clean package:를 지정하면 mvn clean package 명령어가 실행됩니다.

GOOGLE_GRADLE_BUILD_ARGS

Gradle 플러그인을 사용하는 Java 런타임: 기본 Gradle 명령어를 지정한 빌드 명령어로 재정의합니다.

GOOGLE_GRADLE_BUILD_ARGS를 지정하지 않으면 기본적으로 다음 명령어가 실행됩니다.

gradle clean assemble -x test --build-cache

예시: GOOGLE_GRADLE_BUILD_ARGS="clean assemble"을 지정하면 gradle clean assemble 명령어가 실행됩니다.

GOOGLE_DEVMODE

Skaffold: 개발 모드 빌드팩을 사용 설정합니다. 실시간 로컬 개발을 사용하여 소스 코드 변경을 위한 자동 컨테이너 다시 빌드를 트리거합니다. Skaffold를 설치하고 skaffold dev를 실행해야 합니다.

  • 지원되는 값: true, True, 1

GOOGLE_CLEAR_SOURCE

함수, Go 애플리케이션, Java 애플리케이션: 애플리케이션이 빌드된 후 소스를 지웁니다. 애플리케이션에서 Go 템플릿과 같은 정적 파일을 사용하는 경우 이 변수를 설정하면 애플리케이션이 오작동할 수 있습니다.

지원되는 값: true, True, 1

추가 Cloud Run 함수 환경 변수

다음 구성은 함수 프레임워크 및 Cloud Run 함수를 사용하는 함수로 빌드된 소스 코드에만 사용할 수 있습니다. 이러한 구성 옵션에 대한 자세한 내용은 계약을 참조하세요.

GOOGLE_FUNCTION_TARGET

  • 요청에 대한 응답으로 호출할 내보낸 함수의 이름을 지정합니다.
  • 예시: myFunction은 함수 프레임워크가 동일한 이름의 함수를 호출하도록 합니다.

GOOGLE_FUNCTION_SIGNATURE_TYPE

  • 함수에서 사용하는 서명을 지정합니다.
  • 예시: http, event, cloudevent

GOOGLE_FUNCTION_SOURCE

  • 언어에 따라 함수 소스가 포함된 디렉터리 또는 파일의 이름을 지정합니다.
  • (일부 언어에만 해당됩니다. 언어별 문서를 참조하세요.)
  • 예시: Python용 function.py