Cloud Build는 구축, 테스트, 배포를 위한 CI/CD 서비스 입니다.
Server를 사전에 Provisioning 할 필요가 없으며 파이프라인을 생성하여 배포를 자동화합니다.
Cloud Build를 사용하면 Serverless 환경의 배포 관련 효율성을 높힐수 있습니다.
-
- Cloud Function, Cloud Logging, Cloud Storage API
- Compute Engine, Cloud Pub/Sub, Cloud Build API
-
- Compute,Cloud Functions,Pub/Sub Admin
- ServiceAccountTokenCreator
- Cloud Build Editor
- Logs Viewer, Writer
- Viewer(Basic)
-
- Event(Trigger) Options
- Repository 기반 Event
- Push to a Branch
- Branch에 Push를 했을 경우
- Push new tag
- 새로운 Tag를 붙인 상태에서 Push를 했을 경우
- Pull Request
- 해당 Repository(GitHub,Bitbucket,Gitlab)에 PR을 요청했을 때
- Source Repository에서는 사용 불가능
- Push to a Branch
- Response 기반 Event
- Manaul Invocation
- Build Trigger를 수동으로 호출하고 싶은 경우
- Pub/Sub Message
- Pub/Sub Message를 이용하여 Trigger를 생성시키고 싶은 경우
- Webhook Event
- WebHook Event 발생시 Trigger를 생성시키고 싶은 경우
- Manaul Invocation
- Repository 기반 Event
- Filter를 통해 Build Trigger의 작동을 묵시할 수 있는 옵션도 glob 형태로 제공
- 상기 이미지 참고(Included, Ignored)
- Event(Trigger) Options
-
-
Type
- Autodetected
- Repository에서 cloudbuild yaml을 자동으로 찾아주는 옵션
- Cloud Build Configuration File (yaml or json)
- Build Trigger 관련해서 yaml or json을 수동으로 설정
- DockerFile
- DockerFile을 사용하여 Build Image 설정 가능
- Trigger가 될 Repository의 DockerFile Direcoty 및 Name 입력
- Image Name의 경우, 아래 Variable을 제공
- Supported variables
- $PROJECT_ID, $REPO_NAME, $BRANCH_NAME, $TAG_NAME, $COMMIT_SHA, $SHORT_SHA
- Supported variables
- Timeout은 Default는 10분으로 명시 되어있으며, 수정하여 제한시간을 설정 가능 ( max: 86400sec )
- Buildpacks
- Buildpacks도 DockerFile과 유사하나, Builder image 및 환경 변수를 별도로 설정할수 있는 기능이 있습니다.
- Autodetected
-
-
- 대체 변수(Substitution variables)
- 다른 변수값으로 Cloud Build YAML을 재사용할 수 있습니다.
- 변수에 대한 내용은 첨부 드리는 링크를 참고하시면 될 것 같습니다.
- 승인(Approval)
- Build Trigger가 울렸을때, 허용을 할지 안할지에 대한 절차 관련 옵션입니다.
- Build Logs
- Build Log는 해당 Repository에 대한 읽기 권한이 있는 모든 GitHub User에게 표시되는 옵션입니다.
- Service Account
- Trigger를 호출할때 사용할 Service Account를 선택하는 옵션입니다.
- Service Account를 선택하지 않을 경우, Default Cloud Build Service Account가 사용됩니다.
- 대체 변수(Substitution variables)
END