Serverless Framework를 활용해서 Google Cloud Functions에 배포하려면 우선 Serverless Framework CLI를 설치해야 됩니다.
macOS & Linux
curl -o- -L https://slss.io/install | bash
Windows
choco install serverless
YARN or NPM
yarn global add serverless
// or
npm install -g serverless
serverless --version을 통해서 Serverless가 정상적으로 설치되었는지 확인합니다. 아래와 같이 Serverless Framework의 정보가 나오면 정상적으로 설치된 것입니다.
자 Serverless를 설치했으니 CLI를 활용해서 GCF를 실행하기 위한 환경을 만들어 보도록 하겠습니다.
--t는 --template, --p는 --path의 약어입니다. 풀네임을 사용하셔도 되고 제가 작성한 것처럼 약어로 입력하셔도 무방합니다.
serverless create --t google-nodejs --p my-service-app
해당 명령어로 서버리스 환경을 생성하면 아래와 같이 Serverless Framework에서 명령어의 옵션에 따라서 자동으로 환경을 생성해줍니다.
cd my-service-app
yarn
credentials 설정
Serverless Framework에서 사용할 수 있는 적절한 역할로 자격 증명을 만들어야합니다.
- 구글 클라우드 콘솔로 갑니다.
- 상단 Header의 드랍다운에서 프로젝트를 선택합니다.
- 왼쪽 사이드바에서 IAM & 관리자 메뉴를 클릭합니다.
- 왼쪽 사이드바에서 서비스계정을 클릭합니다.
- 상단의 서비스 계정 만들기를 클릭합니다.
- 원하는 값으로 Input을 채워주시고 다음을 누릅니다. (서비스 계정 ID는 자동으로 생성됨)
- 서비스 계정 권한(선택사항)은 우선 소유자로 세팅하겠습니다. (테스트) 실제로는 하단의 4가지 API만 접근 가능한 서비스 계정 권한에 대한 역할을 설정하고 생성해야 합니다.
- 계속을 누르면 키 만들기(선택사항)에서 키 만들기가 있는데 선택해줍니다. 키 유형은 JSON으로 만들고 저장합니다.
API 및 서비스 사용 설정
API 및 서비스 지원 탭에서 API 및 서비스 사용 설정을 누르고 해당 API가 활성화 되어있는지 확인합니다.
- Google Cloud Functions
- Google Cloud Deployment Manager
- Google Cloud Storage
- Stackdriver Logging
아래와 같이 프로젝트 최상단에 이전에 생성한 keyfile.json을 이동시키고, serverless.yml을 수정하도록 하겠습니다.
세팅하셨다면 이제 서버리스를 배포해볼 시간입니다.
serverless deploy
정상적으로 배포가 완료되었습니다.✨
서버리스의 invoke 명령어로 함수를 실행해봅시다.
invoke 명령어로 함수를 실행했을 때 서버리스에서 기본으로 제공하는 index.js의 함수의 반환값이 정상적으로 출력되었음을 확인할 수 있습니다. (-f first는 serverless.yml에서 functions/first을 가리킵니다)
'개발 > Google Cloud Platform' 카테고리의 다른 글
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.