본문 바로가기
반응형

DevOps76

2. 텔레그램 & AWS 서비스 연동하기 - 2) TravisCI와 S3를 이용하여 정적 데이터 관리하기 최근에 많은 Github 저장소에서 유용한 정보들을 제공하고 있습니다. 국내에는 다음과 같은 좋은 저장소들이 있는데요. 국내 개발 블로그 모음 개발 관련 밋업, 세미나 모음 기술 면접 모음 개발자 회고 모음 주니어 개발자 채용 정보 본인이 이런 데이터를 모으고, 이를 Bot으로 안내해주는 서비스를 만든다고 가정하시면 어디에다 이 정보들을 관리할지가 고민일 수 있습니다. 일반적인 웹 서비스처럼 생각한다면 데이터베이스에 저장해서 사용할수 있습니다. 하지만 이처럼 변경요소가 거의 없고, 조회만 대부분인 상황에서 데이터베이스를 쓰기엔 비용이나 시간이 너무 아깝습니다. 그래서 많은 저장소 운영자분들이 json 파일로 정보를 관리하십니다. 예를 들어 제가 운영 중인 주니어 개발자 채용 정보의 경우 채용 정보를 db.. 2018. 6. 15.
1. 텔레그램 & AWS 서비스 연동하기 - 1) 텔레그램 봇과 AWS Lambda & AWS Gateway 연동 주니어 개발자 채용 정보 텔레그램 Bot을 만들었습니다. 그 과정을 다른 분들도 따라할 수 있게 시리즈로 진행할 예정입니다. 전체적인 구조는 다음과 같습니다.이 구조를 하나씩 구현해나가겠습니다. 1-1. Telegram Bot 생성 BotFather에서 새로운 봇을 생성합니다. /newbot을 입력해서 새로운 봇 생성을 시작합니다. AwsTelegramTravis 라는 이름의 봇을 생성합니다. 본인이 원하시는 봇 이름을 입력하면 됩니다. 방금전에 생성한 AwsTelegramTravis 봇이 @AwsTelegramTravis_bot 이란 username을 갖도록 합니다. 앞에는 꼭 @를 붙여야 합니다. 마지막엔 꼭 bot이 붙어야 합니다. 마지막 메세지에 포함된 token 값은 어딘가에 꼭 저장해놓으셔야 .. 2018. 6. 12.
SpringBoot & AWS S3 연동하기 안녕하세요? 이번 시간엔 SpringBoot & AWS S3 연동하기 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) SpringBoot로 서비스를 구축하다보면 꼭 만들어야할 것이 정적 파일 업로더입니다. 이미지나 HTML과 같은 정적 파일을 S3에 제공해서 이를 원하는 곳에서 URL만으로 호출할 수 있게 하는걸 말합니다. 보통 TUI 에디터와 같은 웹 에디터에서는 꼭 같이 구현해야할 기능입니다. 클라우드가 없던 시절에는 서버 1대에 웹 서버(Apache, Nginx 등)을 설치하여 특정 디렉토리를 지정해서 구.. 2018. 6. 3.
AWS Lambda로 Code Deploy 배포 상세 결과 알람 받기 Code Deploy와 다른 CI 툴 (ex: TravisCI)를 조합해서 사용할때 가장 불편한 점은 알람입니다. 저의 경우 TravisCI에서 빌드 & 테스트를 한 뒤에, Code Deploy를 통해 EC2로 배포 하는 구조를 자주 사용합니다. 구축하기 편하다는 장점이 있지만, 이 구조에선 배포 실패시 상세한 내용을 받기가 어렵습니다. TravisCI에서는 Code Deploy에서 어떤 사유로 배포가 실패했는지를 알 수 없기 때문인데요. 그래서 항상 배포가 실패하면 다음과 같은 내용으로만 알람을 받게 됩니다.알람으로 온 링크를 클릭해서 들어가봐도 알 수 있는 내용은 없습니다.그래서 배포 실패가 나면 항상 Code Deploy 화면으로 직접 이동해서 확인할 수 밖에 없습니다. 이 과정이 굉장히 불편해서 .. 2018. 5. 30.
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.

728x90