[Tanzu 운영 ] (6) spring-music과 mysql binding
spring-music은 cloud-foundry 에서 제공하는 테스트 앱이다.
유명세에 맞게 각 smoke-test에서도 해당 테스트 앱을 통해 스모크 테스트를 진행하는데, mysql DB 까지 연결하는
방법에 대해서 포스팅 하겠다.
우선 github source를 먼저 클론 받겠다.
$ git clone https://github.com/cloudfoundry-samples/spring-music.git
$ cd spring-music
ubuntu@ip-10-0-0-238:~/Downloads/spring-music$ ls
LICENSE build gradle gradlew manifest.yml
README.md build.gradle gradle.properties gradlew.bat src
다음과 같이 파일들이 clone 되었는데, 여기서 gradle 라는것에 설명이 필요할것 같다.
gradle은 Maven과 같은 오픈소스 빌드 도구이다.
Gradle은 앞서 살펴본 Ant와 Maven이 가진 장점을 모아 만들었다. 의존성 관리를 위한 다양한 방법을 제공하고 빌드 스크립트를 XML 언어가 아닌 JVM에서 동작하는 스크립트 언어 ‘그루비’ 기반의 DSL(Domain Specific Language)를 사용한다.
그루비(Groovy)는 자바 문법과 유사하여 자바 개발자가 쉽게 익힐 수 있는 장점이 있으며 Gradle Wrapper를 이용하면 Gradle이 설치되지 않은 시스템에서도 프로젝트를 빌드할 수 있다.
gradelw는 gradle의 실행파일을 wrapper 형태로 구현해 둔것이며, gradle이 설치 되지 않은 시스템에서도 프로젝트를 빌드 할수 있다.
$ ./gradlew clean assemble
gradle wrapper을 통해 소스를 빌드하면, 변경사항도 같이 적용된다.
$ cf push
$ cf apps
ubuntu@ip-10-0-0-238:~$ cf apps
Getting apps in org dev / space test as admin...
name requested state processes routes
spring-music started web:1/1, task:0/0 spring-music-sweet-dingo-un.apps.lui.monster
app을 배포한 후에 service를 배포합니다.
$ cf services
ubuntu@ip-10-0-0-238:~$ cf services
Getting services in org dev / space test as admin...
name service plan bound apps last operation broker upgrade available
test p.service-registry standard spring-music update succeeded scs-service-broker
test2 p.mysql db-small spring-music create succeeded dedicated-mysql-broker no
ttttttt p.mysql db-small create in progress dedicated-mysql-broker no
$ cf create-service p.mysql db-small testkoo
ubuntu@ip-10-0-0-238:~$ cf services
Getting services in org dev / space test as admin...
name service plan bound apps last operation broker upgrade available
test p.service-registry standard spring-music update succeeded scs-service-broker
test2 p.mysql db-small spring-music create succeeded dedicated-mysql-broker no
testkoo p.mysql db-small create in progress dedicated-mysql-broker no
ttttttt p.mysql db-small create in progress dedicated-mysql-broker no
여기서의 service는 mysql DB를 binding 하기 위해서 서비스 instance로 배포한 것입니다.
해당 VM에 접속하면 mysql에 접근 가능
/var/vcap/jobs/mysql/config
# vim mylogin.cnf
mysql -u admin -p 로 로그인
$ bosh vms
Deployment 'service-instance_20f7dea6-1bd1-43c1-b3b5-559e82af510b'
Instance Process State AZ IPs VM CID VM Type Active Stemcell
mysql/53c9e718-4ea9-416f-82aa-13cff006195b running ap-northeast-1d 10.0.6.61 i-05b00319b79bbe9cf m5.large true bosh-aws-xen-hvm-ubuntu-xenial-go_agent/621.211
$ cf bind-service spring-music testkoo
Binding service testkoo to app spring-music in org dev / space test as admin...
OK
ubuntu@ip-10-0-0-238:~$ cf services
Getting services in org dev / space test as admin...
name service plan bound apps last operation broker upgrade available
test p.service-registry standard spring-music update succeeded scs-service-broker
test2 p.mysql db-small spring-music create succeeded dedicated-mysql-broker no
testkoo p.mysql db-small spring-music create succeeded dedicated-mysql-broker no
ttttttt p.mysql db-small create succeeded dedicated-mysql-broker no
'VMware > 운영(TAS)' 카테고리의 다른 글
[Tanzu 운영 ] (7) Haproxy Ephimeral Disk 100% full (0) | 2022.05.02 |
---|---|
[Tanzu 운영] (5) buildpack create 및 rename (0) | 2022.04.29 |
[Tanzu 운영] (4) 트러블 슈팅: Bosh CA 인증서 생성시 중복오류 (0) | 2022.04.07 |
[Tanzu 운영] (3) Bosh CA 인증서 교체 (0) | 2022.04.06 |
[Tanzu 운영] (2) Bosh Director 접속방법 (0) | 2022.04.06 |