본문 바로가기
반응형

DevOps82

1. Jenkins로 Beanstalk + Multi Module 배포하기 - Jenkins 설치 팀내 신규 구축 되는 시스템의 배포 환경을 Jenkins + AWS Beanstalk으로 진행하게 되었습니다. 저는 AWS Beanstalk을 한번도 사용해본적이 없는데요. 그래서 어떻게 배포하면 될지 연습하게 되었습니다. 오토 스케일링 그룹, 로드밸런싱 등등을 신경쓰지 않고 서비스 하시려는 분들께 도움이 될것 같습니다. 이번 포스팅은 하나의 프로젝트를 Jenkins + Beanstalk으로 배포하는게 아닌, Gradle Multi Project에서 배포하는 과정입니다. 모든 코드는 Github에 있으니 참고하시면 될것 같습니다. 1-1. IAM Role 생성 가장 먼저 IAM Role을 생성하겠습니다. AWS에서 IAM 서비스를 선택하시고 역할 만들기를 선택합니다. Jenkins가 설치될 EC2에서 S.. 2018. 4. 29.
java, open files, max user processes 회사 블로그에 올린글을 정리차 개인 블로그에도 정리합니다. Linux에서 open files, max user processes 설정에 대해 아는게 없어 정리하게 되었습니다. 팀에서 서버 작업하던 중, 쓰레드와 관련해서 문제가 발생했습니다. 제가 진행하던 일이 아니라서 옆에서 해결하는 과정을 지켜봤었는데요. (팀에 인프라 대장님이 계셔서 휘둥그레 하면서 봤습니다.) 부끄럽게도 전혀 모르는 내용이 오고가서 복기 차원에서 공부하고 기록합니다. 본문의 모든 내용은 테스트를 위해 임의로 생성한 코드들입니다. 모든 코드는 Github에 있으니 필요하시면 언제든지 사용하셔도 됩니다. 1. Max user processes Linux에는 OS 레벨에서의 제한 설정이 있습니다. 보통 이를 ulimit (user lim.. 2018. 4. 20.
3) AWS로 배포하기 시리즈 - 3. AWS Code Pipeline으로 배포하기 이번 시간에는 앞서 진행된 Code Deploy, Code Build를 Code Pipeline에서 통합해서 사용하는 방법을 소개 드리겠습니다. 모든 코드는 Github에 있으니 참고 바랍니다 3-1. Code Pipeline 구축하기 먼저 Code Pipeline 웹콘솔로 이동합니다. 파이프라인 생성버튼을 클릭합니다.Code Pipeline 이름을 등록합니다.소스를 Github에 가져오도록 선택하고, Github에 연결을 클릭합니다.OAuth 리다이렉트가 끝나면 리포지토리와 브랜치를 선택합니다.여기서 고급을 보면 실행 트리거가 2개가 있습니다. master 브랜치에 PUSH 발생시 자동 실행 파이프라인 수동 실행 이번 포스팅에선 수동 실행을 선택하겠습니다. 기존에 등록한 Code Deploy를 선택합니.. 2018. 4. 9.
2) AWS로 배포하기 시리즈 - 2. AWS Code Build로 빌드하기 지난 시간에 Code Deploy 사용하는 방법에 대해 설명드렸습니다. AWS와 같은 클라우드 서비스가 등장하기전까지 IDC 환경에선 젠킨스 혹은 TravisCI와 같은 CI Tool에서 Build & Test & Deploy를 다같이 처리했었습니다. 즉, Build & Test가 완료된 WAR/JAR 를 배포 서버로 바로 전송(scp)하여 배포했었습니다. 하지만, AWS와 같이 오토 스케일링이 되는 클라우드 환경에선 트래픽에 따라 갑자기 서버가 늘었다/줄었다 할 수 있기 때문에 배포서버 목록을 고정시키기가 어렵습니다. (물론 AWS CLI에서 서버 리스트를 가져온다던가 할수도 있습니다) 그래서 이런 문제를 Code Deploy를 통해 해결합니다. Code Deploy는 ASG를 대상으로 배포가 가능하기.. 2018. 4. 8.
1) AWS로 배포하기 시리즈 - 1. Code Deploy 사용하기 AWS로 전체 시스템 구축해야 할 일이 생겨 AWS 배포 환경 시리즈를 시작합니다. 시리즈 과정은 CodeDeploy -> Code Pipeline -> ELB & Auto Scaling Group -> Beanstalk 으로 진행될 예정입니다. 저는 아래와 같은 이유로 현재 젠킨스 + Code Deploy를 선호하고 있습니다.1. Code Pipeline으로 배포하려면 멀티 모듈 프로젝트를 배포 구성하기가 불편합니다 ㅠ 2. 젠킨스에 이미 익숙한 상태라 커스텀하게 배포 환경 구성할때 쉽게 구성할 수 있는데, 파이프라인은 아무래도 자료가 잘없어서 삽질해야하는 시간이 필요합니다 3. IDC와 클라우드가 공존하는 팀에서는 젠킨스를 쓸수밖에 없는데, 팀 내부에 특정 서비스만 파이프라인으로 사용하기엔 팀 컨벤션.. 2018. 4. 5.
AWS EC2(Amazon Linux)에 Java8 설치하기 현재(2018.01.14) EC2 (Amazon Linux)가 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 yum remove java-1.7.0-openjdk -y 현재 버전이 Java8이 되었는지 확인합니다. java -version 2018. 1. 15.

728x90