App Engine 가변형 환경에 배포

App Engine 가변형 환경을 이용해 기존 런타임(예: 자바 8)을 맞춤설정하거나, 커스텀 Docker 이미지 또는 Dockerfile을 제공해 자체 런타임을 제공할 수도 있습니다.

Cloud Build를 사용하면 컨테이너 빌드를 자동화하고 Artifact Registry로 내보낸 후 App Engine에 배포할 수 있습니다.

필수 권한

기본적으로 App Engine 기본 서비스 계정에는 동일한 프로젝트의 저장소에서 가져오고 저장소로 내보낼 수 있는 권한이 있습니다.

App Engine이 다른 프로젝트에 있는 경우 Artifact Registry 저장소에 액세스할 수 있는 권한을 App Engine 서비스 계정에 부여해야 합니다.

App Engine에 배포

gcloud 명령줄 도구를 사용하여 Artifact Registry에서 호스팅하는 이미지를 App Engine에 배포할 수 있습니다.

  1. 앱의 App Engine 구성 파일을 만듭니다.
  2. Docker 이미지를 빌드하고 저장소에 내보냅니다. Cloud Build를 사용하여 컨테이너를 저장소에 빌드하고 내보낼 수 있습니다.
  3. 다음 명령어를 실행하여 이미지를 App Engine에 배포합니다.

    gcloud app deploy --image-url=LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG
    

    각 항목의 의미는 다음과 같습니다.

    • LOCATION은 저장소의 리전 또는 멀티 리전 위치입니다.
    • PROJECT는 저장소가 포함된 프로젝트의 ID입니다. 프로젝트 ID에 콜론(:)이 포함되어 있으면 도메인 범위 프로젝트를 참조하세요.
    • REPOSITORY은 이미지가 저장된 저장소의 이름입니다.
    • IMAGE은 저장소에 있는 이미지의 이름입니다.
    • TAG는 가져올 이미지 버전의 태그입니다.

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

    gcloud app deploy --image-url=us-central1-docker.pkg.dev/my-project/my-repo/my-image:1.0