본문 바로가기
반응형

DevOps96

Jenkins에 Github 로그인 연동하기 이번 시간에는 Jenkins와 Github 로그인을 연동해보겠습니다. 보통 Jenkins를 사용하면 대부분 Github의 프로젝트를 빌드 & 배포 하는 용도로 많이들 사용하시는데요. 그럴 경우 별도의 회원 가입없이 Github OAuth 로그인을 이용하면 회원가입 절차가 편리합니다. Jenkins가 이미 설치되어있고, Github 가입이 되어있다는 가정하에 진행합니다. 1. Github APP 등록 먼저 할 일은 Github APP을 하나 만들어 그 clientId와 clientSecret를 발급받아야만 합니다. 본인 계정의 Settings을 클릭합니다.Setting 화면의 사이드바 하단을 보시면 Developer settings 을 클릭합니다.OAuth Apps에서 우측의 New OAuth App을 클.. 2018. 6. 28.
3. 텔레그램 & AWS 서비스 연동하기 - 3) DynamoDB를 이용한 전체 공지 이번 시간에는 Telegram의 전체 공지 기능을 구현해보겠습니다. Telegram에는 전체 공지 기능이 없습니다. 그래서 챗봇을 쓰는 모든 유저에게 메세지를 전송하기 위해선 별도의 공간에 채팅방 ID를 저장하고, 이 ID별로 메세지를 전송해야만 합니다. 그 과정을 하나씩 소개드리겠습니다. 1. ID 등록 저희의 챗봇을 사용하는 사용자들의 채팅방 ID (chat_id)를 저장해야만 합니다. 저장소는 DynamoDB를 선택합니다. 복잡한 트랜잭션이 필요하지 않으며 JSON 형태로 저장하기 쉽고 고성능의 저장소 AWS의 MongoDB 정도로 보시면 됩니다. 비용은 아래 보시는것처럼 개인이 쓰기에 충분한 양입니다.(참고: Amazon DynamoDB 프리티어로 시작하기) DynamoDB 생성 서비스에서 Dyn.. 2018. 6. 23.
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.

728x90
반응형