Skip to content

jo-minjun/msa-bootcamp

Repository files navigation

msabootcamp

개발 환경

$ brew install homebrew/cask-versions/corretto11 --cask
$ jenv add /Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home
$ jenv versions
  • jhipster-uaa.zip 파일 압축을 풀고 도커 이미지를 빌드합니다. 이 과정은 최초 한번만 실행하면 됩니다
~ $ cp msa-starter/jhipster-uaa.zip ./
~ $ unzip jhipster-uaa.zip && cd jhipster-uaa && ./gradlew jibDockerBuild -Djib.to.image=jhipster-uaa -Djib.to.tags=latest
  • 아래 명령으로 MySQL(3306), Kafka(9092), jhipster-uaa(9999) 등을 구동합니다
~/msabootcamp $ ./gradlew clusterUp
# Ctrl + c to quit
  • 애플리케이션을 구동합니다
~/msabootcamp $ export SPRING_PROFILES_ACTIVE=local; export USER_TIMEZONE="Asia/Seoul"; ./gradlew clean bootRun
$ curl -s http://localhost:8080/management/health

계정

docker service username password
mysql root secret

kafka|admin|admin-secret kafka|alice|alice-secret

개발

  • java code는 google style guide 를 따릅니다 (hard wrap은 120까지 허용)

  • Java version 11을 사용함에도 불구하고 Java version 8 스타일로 코딩합니다

var a = "foo";    // WRONG 
String a = "foo"; // GOOD

빌드

클라이언트 SDK 빌드 및 배포

~/msabootcamp $ ./gradlew :clients:clean :clients:publish -Dorg.gradle.internal.publish.checksums.insecure=true
# 배포 결과는 https://nexus.mm.meshkorea.net/ 에서 확인할 수 있습니다
~/msabootcamp $ ./gradlew :clients:redoc
# 빌드된 API 문서는 clients/build/redoc.html 입니다

배포

  • 릴리스 브랜치에서 gradle.properties에 애플리케이션 버전을 부여합니다
  • ArgoCD 를 사용합니다

모니터링

About

msa 개발 스택을 이해하고 개발합니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages