한국형 PaaS-Ta, K-PaaS 사용기(springboot-mysql)
2024. 1. 18. 23:31ㆍ개발/클라우드
한국의 PaaS-Ta 종류는
NaverCloud, NHN, KT 클라우드 등이 있으며, 플레이파크의 연구 목적의 플랫폼이 있다.
이중에서 필자는 플레이파크를 사용하여, 서비스를 만들었다.
react-springboot이다.
프론트는 nginx로 변환하여 빌드하였고
이후 백엔드를 배포하였다.
K-PaaS로 배포를 할 때, 공식 문서 외에는 배울 곳이 없었기 때문에 이러한 정리글이 있으면 좋겠다고 생각했고, 누군가 K-PaaS를 사용할 때, 유용하게 썼으면 하는 마음에 다음과 같이 글을 쓰게 되었다.
"함께 배포한 사람: 나인데"
먼저 했던 삽질은
플레이파크 인스턴스에서 jar 파일을 넣고 생성해보았다.
하지만 플레이파크에서 지원했던 버전과 맞지 않아 다음과 같이 진행하였다.
1. cf cli 다운로드
2. cli에서 cf 로그인
- paas-ta의 api 엔드포인트는 https://api.k-paas.org이다.
- email에 플레이파크에서 발급받은 아이디, 비밀번호에 발급받은 비밀번호를 적는다.
3. jar 파일 생성하기
- 해당 프로젝트 경로로 들어가서 gradlew build나 gradle build 명령어를 입력한다.
- 그 후 build/libs 파일에 들어가면 다음과 같이 jar파일이 생성된걸 볼 수 있다.
4. manifest.yml 파일 생성
- cf로 앱을 배포하기 위해선 설정파일이 필요한데 이걸 manifest.yml이 한다.
applications:
- name: oncloud-back
host: oncloud-back
memory: 1024M
instances: 1
random-route: false
path: ./cloudmaestro-0.0.1-SNAPSHOT.jar
buildpacks:
- java_buildpack
env:
JBP_CONFIG_OPEN_JDK_JRE: '{ jre: { version: 17.+ } }'
- 위의 yml 파일을 보면 이름, 메모리, 인스턴스, jar파일 경로와 buildpacks을 지정해준다
- 여기서 플레이파크의 paas-ta는 java8밖에 지원을 안해주어 GUI 환경에서 앱을 배포하면 나의 springboot(java17) 버전과 충돌이 나서 배포가 되지 않는다.
- 고로 env로 자바의 버전을 17로 manifest.yml에서 지정해준다.
- 그 뒤 다음과 같이 jar파일과 yml 파일을 같은 경로에 넣어준다.
5. 클라우드로 웹 서버 올리기
- 해당 디렉터리 위치에서 cf push 하면 yml에 정의된 이름과 파일이 올라가게 된다.
- 다음과 같이 나오면 성공
mysql
공식문서
https://github.com/PaaS-TA/application-platform-guide/blob/master/install/service/mysql.md
mysql DBMS는 대쉬보드에서 바인딩 후, CLI로 터널링하여 연결하는 게 제일 쉽다.
로그인
cf login -a <https://api.k-paas.org> --skip-ssl-validation
email, pw 입력 후
cf apps
cf services
cf ssh oncloud-back -L 9900:232c636c-9377-4ce0-8348-60b2216a221f.proxy.default.mysql.bosh:13307
여기서 사용된 mysql hostname, username, password 등은 플레이파크 생성한 서비스의 ENV탭에서 확인할 수 있다.
'개발 > 클라우드' 카테고리의 다른 글
react S3 - EC2 github action-aws deploy CI/CD main.yml (0) | 2024.01.20 |
---|---|
github action CI/CD, S3, AWS Codedeploy action에는 성공했지만 Deploy가 실패할 때 문제해결 (1) | 2023.12.01 |
[AWS]AWS Certified Cloud Practitioner 자격증 취득 후기 (1) | 2023.11.11 |