Cloud Functions 배포

배포

배포는 함수의 소스 코드가 포함된 보관 파일을 Google Cloud Storage 버킷에 업로드하여 수행됩니다. 소스 코드가 업로드된 다음 Cloud Build는 코드를 컨테이너 이미지로 자동으로 빌드하고 이 이미지를 Container Registry에 푸시합니다. Cloud Functions는 이 이미지를 사용하여 함수를 실행하는 컨테이너를 만듭니다.

더 구체적인 내용:

  1. 배포 시작.gcloudignore 패턴과 일치하는 파일을 제외한 모든 파일을 포함한 소스 코드를 압축합니다.
  2. 소스 코드가 압축되고 업로드되면 빌드가 Cloud Build에 제출됩니다. 빌드는 gcr.io/buildpacks/builder:v1과 함께 pack build 명령어를 사용하여 컨테이너를 빌드합니다. 다음 작업이 수행됩니다.

    • 기본 Ubuntu 이미지를 사용합니다.
    • 언어 런타임을 설치합니다.
    • 함수 프레임워크가 아직 없는 경우 설치합니다.
    • 사용자 종속 항목을 설치합니다.
    • OCI 이미지를 내보냅니다.

캐싱은 이러한 단계를 더 빠르게 하는 데 도움이 됩니다. 이 동영상에서 프로세스 개요를 참조하세요.

배포 옵션

로컬 머신이나 GitHub 및 Bitbucket 소스 저장소(Cloud Source Repositories)를 통해 또는 Cloud Functions API에서 직접 Cloud Functions를 배포할 수 있습니다.

배포하면 Cloud Functions는 런타임에 따라 특정 파일을 찾습니다. 자세한 내용은 Cloud Functions 작성을 참조하세요. 함수 배포가 완료되기 전에 Cloud Functions는 함수를 테스트 요청으로 보내 함수가 성공적으로 배포되었는지 확인합니다.

배포 간 마이그레이션

기본 인프라가 프로비저닝되는 동안 함수의 첫 번째 배포를 완료하는 데 몇 분 정도 걸릴 수 있습니다. 기존 함수를 더 빠르게 재배포할 수 있으며 수신 트래픽은 함수의 최신 버전으로 자동 마이그레이션됩니다.

기본 개념

함수를 배포하는 다양한 방법에 대해 알아볼 때 몇 가지 기본적인 용어를 이해하는 것이 좋습니다. 함수를 배포하면 아래와 같이 Cloud Console에 표시됩니다. 특히 이름실행된 함수 필드에 주목하세요.

  • 이름 필드는 함수에 할당한 등록된 이름입니다.
  • 실행된 함수 필드는 소스 코드에서 배포된 함수가 호출될 때 실행되는 실제 함수의 이름입니다.

이 두 필드의 이름이 같거나 다를 수 있습니다. 아래의 처음 두 함수의 경우 실행된 함수 이름과 등록된 이름이 다릅니다. 마지막 함수는 두 필드의 이름이 동일합니다(helloHttp).

함수 배포 프로세스를 보여주는 스크린샷

로컬에서 빌드 및 테스트

Cloud Functions는 오픈소스 언어 및 프레임워크를 기반으로 런타임 환경에서 실행되므로 표준 런타임 및 개발 도구를 사용하여 로컬에서 함수를 빌드하고 테스트할 수 있습니다.

또한 함수 프레임워크를 사용하여 지원되는 런타임에 대해 로컬에서 함수를 실행하고 디버깅하면 더 쉽게 함수를 테스트 및 디버깅할 수 있습니다.

다음 단계