서론 WEB 서버와 WAS를 분리하는 이유를 단순히 WEB서버는 클라이언트의 요청에 대해서 정적파일을 응답하고 WAS는 동적인 요청에 대해서 응답해 부하를 분산시켜준다로 알고 있었고 과거에는 WAS와 WEB서버간의 성능차이가 존재하여 분리하였지만 최근에는 WAS도 충분히 WEB서버의 역할을 할 수 있어서 성능에 유의미한 차이는 없다는 의견도 봤었다. Spring + react 조합으로 AWS에 배포하면서 Spring은 EC2에 React는 S3에 배포했었다. S3가 정적 WEB서버 역할을 맡은셈인데 이번기회에 WAS와 WEB 서버를 분리해야 하는 이유를 정확하게 알고가는게 좋겠다고 생각했다. 분리하는 이유 검색해본 결과 대부분의 설명글에서 크게 4가지의 이유를 알수 있었다. 역할을 분담해 부하 방지 WE..
목표 gitlab의 CI/CD기능을 이용해서 master branch에 push하게 되면 AWS EC2에 spring boot jar를 빌드 및 배포 까지 완료하는것입니다. 시작하기 gitlab ci/cd 코드 작성 최대한 민감한 정보는 환경변수로 설정하려고 노력하였습니다. CI/CD 단계는 build -> test -> deploy 순으로 진행됩니다. linux 서버의 /home/ec2-user/app/build/ 경로에 배포합니다. image: java:8-jdk stages: - build - test - deploy cache: paths: - .gradle/wrapper - .gradle/caches build: stage: build script: ./gradlew clean build art..