[서비스 만들기] #5 - GCP App Engine에 빌드 트리거 이용해서 Node js 배포하기

Git 커밋이 될 때 마다 자동 빌드되도록 하는데 구글 클라우드 떠날뻔 했습니다.
어렵지는 않지만 CI 구축을 처음하다보니 많이 헤맨거같습니다.
포스팅하려고 자료준비하다보니 간단하네요.

제가 이전에 포스팅한 App Engine에 Node js 배포하기. 에서는 터미널에서 명령어를 쳐서 배포하는 것을 해보았습니다. 배포가 되셔야 이번에 진행이 되십니다. 이번에는 빌드 트리거와 연동하여서 자동 배포를 구축해보도록 하겠습니다. 도커를 이용해서 빌드하실 분은 Dockfile 이용해서 빌드 트리거 사용하기 참고해주시면 됩니다.

구글 클라우드 떠날뻔한 흔적...



빌드 트리거 생성하실 때 Dockfile로 하시면 안되고 밑에 Cloud Build 구성 파일 선택해주세요.
 2. 프로젝트 폴더에 cloudbuild.yaml 파일 생성.
steps:
  - name: 'gcr.io/cloud-builders/gcloud'
    args: ["app", "deploy"]
    dir: 'server'
    timeout: '600s'


3. 커밋해줍니다.
빌드 기록에 들어가셔서 기록을 확인해주세요.
그럼.... 되실겁니다. 혹시나 아래와 같이 로그가 남고 실패할 경우 cloudbuild.yaml 경로를 변경해주세요. 저의 경우 build 폴더를 만들고 cloudbuild.yaml를 넣어줬습니다. 찾아보니 뭐 이미 파일 저장소에 있던 cloudbuild.yaml 하고 충돌이 난거라고합니다.

ERROR: (gcloud.app.deploy) There is a cloudbuild.yaml in the current directory, 
and the runtime field in /workspace/server/app.yaml is currently set to [runtime: nodejs]. 
To use your cloudbuild.yaml to build a custom runtime, set the runtime field to [runtime: custom]. 
To continue using the [nodejs] runtime, please remove the cloudbuild.yaml from this directory.


헤맨부분은  app을 배포하기 싫어서 빌드를 하려고 여러가지 해보니 안되었습니다. 생각해보니 빌드가 안되면 배포도 안되니 cloudbuild.yaml 에 app deploy하도록 하였습니다. 또한 권한 설정을 많이 했습니다. 필요없는 과정으로 보입니다... 다음에도 좋은 글 쓰도록 하겠습니다.




댓글

이 블로그의 인기 게시물

[INTELLIJ] 인텔리제이 폴더 안 보이고 파일만 보이는 버그 해결 방법

[생활] 짝눈(부동시)로 신체검사 4급(공익) 받은 방법.

[스프링부트] @Mapper import 실패시(빨간줄) 해결 방법