- 웹 애플리케이션: spring-boot-sample-web-ui
- build: gradle
- 독립적인 container로 구성:
docker pull wicksome/spring-boot-gradle-example
- log는 host에 file로 적재: spring log path -
/tmp/logs
- health check API 추가:
GET /health
- response type: json -
{ "status": "UP" }
- response type: json -
- 웹서버 nginx
- reverse proxy 80 port, round robin 방식 -
haproxy
- 실행스크립트 개발언어:
bash
- container scale in/out
- 무중단 배포 동작 구현
git clone https://github.com/wicksome/devops-example.git
cd devops-example/
docker network create devops
./devops.sh start
./devops.sh stop
./devops.sh restart
./devops.sh deploy
/service
는 각 vm 서버에 실행한다.docker-compose build --no-cache docker-compose run -d
- proxy 서버의
haproxy.cfc
에 vm 서버를 추가한다.... backend server ... # load balancing balance roundrobin ... server springboot01 <vm_server_id>:<port> check