PaaS-TA (5) - 앱 배포 및 서비스 바인딩

PaaS-TA (5) - 앱 배포 및 서비스 바인딩

CF CLI로 앱을 push 할 때, 파라미터로 서비스를 바인딩하는 방법을 찾지 못했다. 하지만 CF CLI로 앱과 서비스를 바인딩하지 못하는 건 아니다. 그중에서 manifest를 사용한 서비스 바인딩을 해보자. 배포하려는 앱은 spring boot web 앱이다.

앞전의 포스트에서 앱을 배포하고, 해당 앱의 환경을 manifest로 저장하는 방식을 사용했었다.

이번에는 manifest를 먼저 만들고 앱을 배포하는 방식을 사용할 예정이다.

우선 앱(jar파일)이 있는 폴더로 이동하고 manifest.yml파일을 생성한다.

applications:

- name: mymask-backend

instances: 3

memory: 1G

disk_quota: 512M

buildpack: https://github.com/cloudfoundry/java-buildpack#v4.28

services:

- mymask-backend-db

spring boot로 만들어진 앱이므로, 당연히 빌드팩은 java buildpack이 된다.

바인딩하려는 서비스의 이름을 services 항목에 매핑시켜주면 된다.

이제 앱을 배포해보자.

cf push 앱이름

배포가 깔끔하게 되면 좋겠지만... 에러가 발생하는 케이스가 있다.

[Buildpack] ERROR Finalize failed with exception #

위와 같은 에러가 난다면, 앱 이름과 jar 파일의 이름이 같지 않은 경우일 가능성이 크다. 메이븐으로 excutable jar를 생성하면 앱이름에 버전이 붙는 케이스가 그러하다. 그렇다면 -p 파라미터로 jar 파일이름을 지정해주자.

cf push 앱이름 -p jar_file_name

Manifest 파일을 읽는 중에 오류 발생:

이런 에러가 생길 수 있다. 이는 manifest 파일 문법 오류이다. 눈에 불을 켜고 오탈자를 찾아보자.

ERR Cannot calculate JVM memory configuration: There is insufficient memory remaining for heap. Memory limit XXX is less than allocated memory XXX(...

잘 되나 싶더니 이런 에러도 난다. 이건 메모리 할당량을 너무 적게 잡은 케이스이다. allocated memory보다 넉넉하게 잡아주자.

이 역시도 콘솔에서 진행 가능하다. 앱 배포화면에서 서비스를 선택할 수 있으므로 (4)번 포스트를 참조하자.

https://nyaaong.tistory.com/23

from http://blog.asusual.dev/24 by ccl(A) rewrite - 2020-03-19 22:20:28

댓글

이 블로그의 인기 게시물

[Linux] 파일 로그 보기(tail)

[샤니마스 SPRING PARTY2020] THE IDOLM @ STER SHINY COLORS SPRING...

2020 LCK 롤챔스 Spring 경기 재개 및 일정