본문 바로가기
반응형

DevOps95

Github Action 빌드 결과 Telegram Bot으로 보내기 팀 단위의 프로젝트에서는 Github Action 빌드의 결과를 Slack으로 보내겠지만, 개인적인 프로젝트에서는 Telegram을 사용할 때가 많다. 메세지 제한이 없고 슬랙은 무료 Plan에서는 채널당 메세지가 10,000개 제한이 있다. 네이티브 앱이라 슬랙에 비해 속도 체감이 심하다 특정 프로젝트의 build 결과를 텔레그램 메신저로 받을 수 있도록 진행한다. 1. bot 생성 먼저 텔레그램 봇을 생성한다. 텔레그램 메신저로 이동하여 BotFather 를 찾는다. 아래와 같이 BotFather 채팅방에서 /newbot을 입력한다 그리고 나선 봇 이름을 등록한다. 봇 이름은 다음과 같은 규칙이 필요하다 XXXBot 혹은 XXX_bot 과 같이 마지막 뒤에 Bot 혹은 _bot 이 들어가야만한다 생성.. 2022. 3. 26.
CloudFlare Pages로 Next.js 서비스 배포하기 CloudFlare의 정적사이트 플랫폼인 CloudFlare Pages가 출시되었다. https://pages.cloudflare.com/ 이미 Netlify 와 같이 정적 사이트 플랫폼이 많은데 굳이 CloudFlare를 써야하나? 싶었다. (저도 그동안은 Netlify을 썼기 때문에) 그럼에도 써봐야하는 이유는 Free Plan의 구성이 말도 안되게 좋기 때문이다. 무제한 사이트 발행 무제한 요청 무제한 대역폭 Free Plan 라고는 믿을수 없을만큼의 좋은 혜택을 제공한다. 대부분의 정적 사이트가 저정도 혜택은 유료 Plan인걸 고려하면 선택하지 않을 이유가 전혀 없다고 생각했다. 1. Next.js App 생성 먼저 간단한 Next.js App을 생성한다. 여기서 사용된 코드는 모두 Github .. 2022. 3. 25.
Mac 업데이트 이후 Docker 실행 안될 경우 어느날 Mac 업데이트 이후부터, docker-compose 실행이 안되기 시작했습니다. 아래와 같은 에러가 발생했는데요. 전체 에러로그는 다음과 같습니다. Traceback (most recent call last): File "docker/api/client.py", line 268, in _raise_for_status File "requests/models.py", line 941, in raise_for_status requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http+docker://localhost/version During handling of the above exception, anothe.. 2022. 1. 9.
docker-compose clean restart 하기 docker를 사용하다보면 한번씩 전체 컨테이너를 싹 다 지우고, 깔끔하게 다시 시작하고 싶을때가 있습니다. FATAL: database files are incompatible with server DETAIL: The data directory was initialized by PostgreSQL version xx, which is not compatible with this version yy 언제든 삭제해도 되는 데이터가 아니라, 실제로 계속 저장이 되어야 한다면 Volume에 있는 모든 데이터들을 백업해놓고 진행하셔야 합니다. 지금 같은 경우는 테스트 코드로만 수행될 컨테이너들이라서 바로 삭제할 수 있었습니다. 먼저 기존의 도커 컨테이너를 모두 삭제합니다. (물론 실행중인 컨테이너가 있다면 d.. 2021. 10. 4.
Github Pull Request시 Jest & Docker Test Code 수행하기 테스트 코드를 작성과 함께 항상 해주어야하는 기반 작업중 하나가 Pull Request와 Develop & Master 브랜치 Push시에 전체 테스트 코드가 수행되도록 테스트 자동화 환경을 구축 하는 것입니다. 그래야만, Pull Request의 코드리뷰를 진행할때 기존 기능이 정상작동하는 것을 믿고 리뷰만 진행할 수 있기 때문입니다. 이를 위해 젠킨스와 같은 설치형 CI를 써도 되지만, 배포용도가 아닌 코드리뷰로 요청온 Pull Request는 무조건 전체 테스트를 수행한다로 본다면 Github Action은 꽤나 좋은 선택지입니다. 그래서 이번 시간에는 Jest & Docker 환경에서 Pull Reqeust 발생시 Github Action으로 테스트 수행과 결과를 알려주는 환경을 구성해보겠습니다... 2021. 10. 1.
CloudWatch 이상 지표를 슬랙 알람으로 받기 (feat. SNS, Lambda) AWS 서비스를 이용하면 CloudWatch를 통해 서비스의 이상 지표를 손쉽게 확인할 수 있습니다. 이를테면 다음과 같은 경우인데요. 평소보다 로드밸런서로 들어오는 요청양이 2배이상 높다거나 RDS의 CPU가 60%이상이 된다거나 RDS에 사용중인 Connection이 갑자기 줄어든다거나 등등의 경우입니다. 이때 별도의 알람을 붙여놓지 않는다면 서비스가 죽고 나서야 알게 됩니다. 그래서 위와 같이 이상지표가 발생하면 즉시 Slack 등 메신저를 통해 알람을 받아야만 하는데요. AWS에서는 SNS와 Lambda를 통해 CloudWatch의 이상 지표를 손쉽게 알람을 받을 수 있습니다. 이번 시간에는 CloudWatch와 SNS, Lambda를 활용해 이상 지표 알람 서비스를 만들어보겠습니다. 1. SNS.. 2021. 7. 17.

728x90
반응형