본문 바로가기

deploy4

3. Jenkins로 Beanstalk + Multi Module 배포하기 - Beanstalk 연동하기 이번 시간에는 지난 시간에 구축한 Jenkins로 Beanstalk을 연동해보겠습니다. 3-1. Beanstalk 생성 서비스에서 Beanstalk을 검색해서 Beanstalk 서비스 페이지로 이동합니다.우측 최상단의 새 어플리케이션 생성 버튼을 클릭합니다. 어플리케이션의 이름과 설명을 작성합니다.생성된 어플리케이션에서 환경을 생성합니다. 참고로 어플리케이션이 상위의 그룹입니다. 즉, 어플리케이션 안에 환경이 있습니다. 환경 티어에서는 웹 서버 환경을 선택합니다. 환경의 상세 정보를 등록해야하는데요. 여기서 저는 도메인과 환경 이름을 external-api라고 정했습니다. 이렇게 한 이유는 간단합니다. 이번 주제가 Gradle Multi Module 기반에서 Beanstalk을 어떻게 배포하느냐이기 때문.. 2018. 5. 1.
2. Jenkins로 Beanstalk + Multi Module 배포하기 - Jenkins와 Github 연동하기 이번 시간엔 EC2에 설치된 Jenkins와 Github연동을 진행하겠습니다. 2-1. SSH 키 생성 및 등록 Github 연동을 ID & Password 방식으로 하면 보안에 취약하기 때문에 ssh 키로 연동 하겠습니다. Jenkins가 설치된 EC2에서 아래 명령어로 키를 생성합니다. ssh-keygen -t rsa -f id_rsa (여기서 Enter passphrase는 바로 엔터를 누르시면 됩니다.) 2개의 키(id_rsa, id_rsa.pub)가 생성됩니다. Jenkins 페이지로 다시 이동하셔서 Credentials/System로 이동합니다. Global credentials를 클릭 Add Credentials를 클릭하면 인증키를 입력할 수 있는 화면이 나옵니다. 여기서 Kind를 SSH .. 2018. 4. 29.
7) 스프링부트로 웹 서비스 출시하기 - 7. Nginx를 활용한 무중단 배포 구축하기 이번 시간엔 무중단 배포 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) 7-1. 이전 시간의 문제점? 이전 시간에 저희는 스프링부트 프로젝트를 Travis CI를 활용하여 배포 자동화 환경을 구축해보았습니다. 이젠 Master 브랜치에 Push만 되면 자동으로 빌드 & 테스트 & 배포가 자동으로 이루어집니다. 하지만! 배포하는 시간 동안은 어플리케이션이 종료가 됩니다. 긴 시간은 아니지만, 새로운 Jar가 실행되기 전까진 기존 Jar를 종료시켜놓기 때문에 서비스가 안됩니다. 하지만 최근 웹 서비스들은 대부분 배포하기 위해 서비스를 정지시키는 경우가 없습니다. 어떻게 서비스의 정지 없이 배포를 계속 할 수 있는지 이번 시간에 확인하고 서비스에 적용해보겠습니다. 7-2. 무중단 배포? 예전.. 2018. 2. 2.
5) 스프링부트로 웹 서비스 출시하기 - 5. EC2에 배포하기 이번 시간엔 지금까지 개발한 내용을 EC2에 배포 해보겠습니다. (모든 코드는 Github에 있습니다.) 5-1. EC2에 Git 설치 및 프로젝트 Clone 배포에 앞서 기반작업이 되는 Java와 Git을 EC2에 설치하겠습니다. 5-1-1. Java 8 설치 현재(2018.01.14) EC2가 Java7이 기본버전이라 Java8로 버전업하겠습니다. AWS EC2에 접속하셔서 아래 명령어를 실행 합니다. sudo yum install -y java-1.8.0-openjdk-devel.x86_64 설치가 완료되셨으면 인스턴스의 Java 버전을 8로 변경하겠습니다. sudo /usr/sbin/alternatives --config java 버전이 변경되셨으면 사용하지 않는 Java7을 삭제합니다. sudo.. 2018. 1. 18.