버전 제어로 Cloud Functions 배포
이 페이지에서는 Cloud Source Repositories에서 버전 제어되는 코드를 사용하여 Cloud Functions를 배포하는 방법을 보여줍니다.
Cloud Functions를 Cloud Source Repositories와 통합하여 Cloud Source Repositories에서 함수가 포함된 코드를 버전 제어할 수 있습니다. 시간 경과에 따라 함수가 변경되므로 이전 커밋에 계속 액세스하여 함수가 언제 어떻게 변경되었는지 확인할 수 있습니다.
시작하기 전에
- Cloud Source Repositories에서 코드 저장소 만들기의 단계를 완료합니다.
- Cloud Functions API 및 Cloud Build API를 사용 설정합니다.
저장소에 함수 추가
로컬 머신에서
hello-world
저장소의 루트 디렉터리로 이동합니다.cd hello-world
로컬 시스템에서 함수 코드용 디렉터리를 만듭니다.
Linux 또는 macOS
디렉토리를 만듭니다.
mkdir gcf_hello_world
해당 디렉터리로 이동합니다.
cd gcf_hello_world
Windows(CMD)
디렉토리를 만듭니다.
mkdir %HOMEDRIVE%%HOMEPATH%\gcf_hello_world
해당 디렉터리로 이동합니다.
cd %HOMEDRIVE%%HOMEPATH%\gcf_hello_world
gcf_hello_world
디렉터리에서 다음 콘텐츠가 포함된index.js
파일을 만듭니다./* HTTP Cloud Function. * * @param {Object} req Cloud Function request context. * @param {Object} res Cloud Function response context. */ exports.helloGET = (req, res) => { res.send('Hello from Cloud Functions and Cloud Source Repositories'); };
다음은 HTTP
GET
요청에Hello from Cloud Functions and Cloud Source Repositories
텍스트로 응답하는helloGET
이라는 간단한 함수입니다.
Cloud Source Repositories에 푸시
방금 만든 파일을 Cloud Source Repositories로 푸시합니다.
파일을 추가합니다.
git add .
이 작업의 기록을 설명하는 주석이 포함된 파일을 커밋합니다.
git commit -m "Add Cloud Functions test to Cloud Source Repositories"
git push
명령어를 사용하여 로컬 Git 저장소의 콘텐츠를 Cloud Source Repositories에 추가합니다.git push origin master
함수 만들기 및 배포
Google Cloud Console 또는 Google Cloud CLI를 사용하여 함수를 만들고 배포합니다.
Console
Cloud Functions 페이지로 이동합니다.
Cloud Functions를 사용 설정한 Google Cloud 프로젝트를 선택했는지 확인합니다.
함수 만들기를 클릭합니다.
함수 만들기 페이지에서 다음 옵션을 입력합니다.
- 환경 필드에서 1세대를 선택합니다.
- 함수 이름 필드에
cloud-source-repositories-test
를 입력합니다. - 리전 필드에서
us-central1
을 선택합니다. - 트리거 목록에서 HTTP를 선택합니다.
- 인증 목록에서 인증 필요를 선택합니다.
- HTTPS 필요 옵션이 선택되어 있는지 확인합니다.
저장을 클릭합니다.
다음을 클릭합니다.
- 런타임 필드에서 Node.js 16을 선택합니다.
- 진입점 필드에
helloGET
을 입력합니다. - 소스 코드 목록에서 Cloud Source Repository를 선택합니다.
- 저장소 필드에
hello-world
를 입력합니다. - 브랜치 이름 필드에 master를 입력합니다.
- 소스 코드가 있는 디렉터리 필드에
/gcf_hello_world
를 입력합니다.
배포를 클릭합니다.
배포 중인 함수 옆에 작은 스피너가 나타납니다. 배포가 끝나면 스피너는 녹색 체크표시로 바뀝니다.
gcloud CLI
터미널 창에서 Google Cloud 프로젝트 ID가 포함된 변수를 설정합니다. 저장소가 포함된 Google Cloud 프로젝트와 동일한지 확인합니다.
export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
함수를 배포합니다.
gcloud functions deploy helloGET \ --source https://source.developers.google.com/projects/$PROJECT_ID/repos/hello-world/moveable-aliases/master/paths/gcf_hello_world \ --trigger-http \ --runtime=nodejs8;
Cloud Source Repositories에 배포하는 방법에 대한 자세한 내용은 소스 제어에서 배포를 참조하세요.
함수 테스트
Google Cloud 콘솔 또는 gcloud CLI를 사용하여 새 함수를 테스트합니다.
콘솔
Cloud Functions 개요 페이지로 이동합니다.
Cloud Functions를 사용 설정한 Google Cloud 프로젝트를 선택했는지 확인합니다.
cloud-source-repositories-test
함수 행에서 작업 표시 메뉴를 클릭합니다.함수 테스트를 클릭합니다.
함수 테스트 버튼을 클릭합니다.
1~2분 후 출력 필드가 업데이트되고
Hello from Cloud Functions and Cloud Source Repositories
메시지가 표시됩니다.
gcloud CLI
터미널 창에서 다음 명령어를 입력합니다.
gcloud functions call helloGET
다음과 유사한 출력이 표시됩니다.
executionId: owqd9fdh5od2
result: Hello from Cloud Functions and Cloud Source Repositories
삭제
생성한 함수 및 저장소를 삭제하려면 다음 단계를 따르세요.
함수 삭제
Cloud Functions 개요 페이지로 이동합니다.
Cloud Functions를 사용 설정한 Google Cloud 프로젝트를 선택했는지 확인합니다.
이 빠른 시작용으로 만든
helloGET
함수인cloud-source-repositories-test
를 선택합니다.동일한 행에 있는 더보기more_vert를 클릭한 다음 삭제를 클릭합니다.
저장소 삭제
Google Cloud 콘솔에서 Cloud Source Repositories의 모든 저장소 페이지를 엽니다.
삭제하려는 저장소 위에 마우스 포인터를 놓고 설정settings을 클릭합니다.
일반 설정 페이지가 열립니다.
이 저장소 삭제를 클릭합니다. delete.
저장소 삭제 대화상자가 열립니다.
삭제할 저장소의 이름을 입력합니다.
삭제를 클릭합니다.
다음 단계
- Cloud Functions에 대해 자세히 알아보기