본문 바로가기
반응형

2018/0411

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.
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.
Spring Rest Docs를 Markdown으로 작성하기 이번에 새로 시작하는 프로젝트에 Spring Rest Docs를 적용해보기로 했습니다. Spring Rest Docs를 처음 들어보시는 분들을 위해 간단하게 소개하자면, 테스트 코드를 기반으로 문서를 자동으로 생성해주는 프로젝트입니다. 팀의 API 문서 자동화를 위해 선택하게 되었는데요, Swagger가 가지고 있는 단점들을 충분히 커버해줄만하다는 생각에 선택하게 되었습니다. Spring Boot Rest Docs의 기본 조합인 Mock MVC & Asciidoc 을 사용하지 않고, Spock & Rest Assured & Markdown을 써야겠다고 생각했는데요. 이미 Groovy & Spock 기반으로 동적 언어로 테스트 코드 작성이 익숙한 상태 문서화를 위해 테스트 프레임워크를 변경하는건 배보다 배.. 2018. 4. 26.
Mac에서 Gem::FilePermissionError 에러 발생시 해결 방법 Mac에서 Ruby의 패키지 매니저인 gem을 통해 설치를 진행하다 다음과 같은 에러를 만납니다. $ gem install bundler ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory. 결론부터 말하면, 시스템 ruby를 이용하고 있기 때문에 권한이 없어 gem 설치가 안된 것입니다. sudo를 통해 root 권한으로 실행하면 설치가 가능하지만, 보안상 이유로 권장하지 않는 설치법입니다. 그래서 rbenv를 통해 문제를 해결해보겠습니다. 문제 해결 먼저 brew를 통해 rbenv 를 설치합니다. brew updat.. 2018. 4. 24.
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.
Quokka 플러그인 소개! 안녕하세요? 이번 시간엔 IntelliJ의 Quokka 플러그인을 소개드리려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 소개 Javascript 개발을 진행하다보면 여러 이유로 프로토 타입을 개발을 위한 격리된 공간이 필요할때가 있습니다. 특정 라이브러리의 함수가 어떤 결과를 출력하는지 잠깐 확인하고 싶을때 JS를 강의하거나, 배우기 위해 결과를 바로 실행해보고 싶을때 새로운 언어의 기능이나 프레임워크를 실험해보고 싶을때 보통 이런 이유로 온라인 편집기 (브라우저 개발자 도구의 Console, jsbin)를 사용합니다. 하.. 2018. 4. 12.

728x90
반응형