CI-CD란? 지속적 통합(Continuous Integration), 지속적 배포(Continuous Deployment)를 의미하며, 빌드, 테스트, 배포 등의 작업을 자동화하여 소프트웨어 개발 사이클을 간소화하고 가속화 해줍니다. Github Actions, Docker의 사용 이유 Giftipie에서는 `Github Actions, Docker`를 사용하여 CI-CD를 구현하였습니다. Github와의 통합성과 yml 작성을 통해 간편하게 구현할 수 있는 점을 이유로 Github Actions을 사용하였고, 어느 환경에서나 동일하게 실행할 수 있고 컨테이너를 통한 빠른 배포 등의 장점으로 Docker를 사용하였습니다. Giftipie의 CI-CD flow 1. github actions yml에 미..
분류 전체보기
이 글은 프로젝트를 진행하며 도커를 사용해보고 도커에 대해 정리한 글입니다.Docker란?도커는 컨테이너화 기술을 사용하여 애플리케이션을 패키징하고 실행하기 위한 오픈소스 플랫폼입니다. 컨테이너 방식으로 프로세스를 격리해서 실행하고 관리할 수 있도록 도와주며, 계층화된 파일 시스템에 기반해 효율적으로 이미지(프로세스 실행 환경)을 구축할 수 있도록 해줍니다.도커를 사용하면 이 이미지를 기반으로 컨테이너를 실행할 수 있으며, 다시 특정 컨테이너의 상태를 변경해 이미지로 만들 수도 있습니다. 이렇게 만들어진 이미지는 파일로 보관하거나 원격 저장소를 사용해 쉽게 공유할 수 있으며, 도커만 설치되어 있다면 필요할 때 언제 어디서든 컨테이너로 실행이 가능합니다.도커 이미지란?도커 이미지는 애플리케이션과 그 애플리..
Prometheus, Grafana, Node exporter로 모니터링 구현에는 성공했는데, Grafana를 계속 켜두면서 모니터링 하기에는 불편함이 너무 많았다. 이를 해결하기 위해 Grafana의 alert기능을 이용하여 Slack과 연동해보았다. 이 글은 Grafana와 Slack 연동 방법에 대해서 정리한 글입니다. https://helloresekai.tistory.com/58 내용과 이어집니다. 1. Slack API 설정1-1. Slack App 생성Slack API 페이지 에 접속하여 로그인합니다. 우측 상단의 Create New App을 누르고 From scratch를 눌러줍니다. App Name을 입력하고, 연동할 Slack Workspace를 선택하고 Create App을 눌러 생성..
서비스를 운영하면서 서버에 대한 여러 정보들을 수집하여 기능을 개선해나가기 위해 모니터링을 도입하기로 하였다. 특히나 진행중이던 프로젝트에서 오토스케일링 도입이 불투명해진 상황에서, 유저테스트때의 서버 상태를 모니터링해보고 스케일업을 할지 말지 결정해야했기 때문에 더더욱이 모니터링이 필요했다. 이 글에서는 프로젝트를 진행하며 모니터링을 구현한 몇가지 이유 등과 docker를 이용한 prometheus, grafana, node exporter 설치 방법, grafana 대시보드 세팅 까지의 내용을 다룬다. 1. 기술적 의사 결정모니터링 툴 중에서는 Prometheus, Grafana 조합과 Sentry, Pinpoint 중에서 고민하였는데, 결과적으로 Prometheus, Grafana를 사용하기로 하..
정말 오랜만에 회고글을 쓴다. 원래도 일기같은걸 잘 안쓰는 성격이기도 했고, 글은 가끔가다 해우소의 성격으로 적었지 외의 성격의 글은 잘 안적어 버릇했다. 하지만 어제 항해 일정상 공식적으로 개발이 끝났고, 유일하게 그나마 맘편히 쉴 수 있던 일요일을 보내다 뭔가 지금까지의 과정들에 대해 회고를 남겨야 겠다는 생각이 들어 블로그를 키게 되었다. 개발에 관한 회고보다는 해우소느낌의 글이겠다 싶다. 한번 사는 인생. 하고싶은걸 하면서 행복하게 살고 싶던 나는, 기계공학과를 졸업하고 관련 일을 시작한지 얼마안되서 그만두고 어렸을때 꿈 중 하나였던 작곡에 도전하게 되었다. 서른 전까지는 도전해보자 라는 생각으로 작곡, 음향을 했지만 현실적인 문제들에 부딪혀 꿈을 접게되었다. 다시 원래 전공으로 일을 돌아가야하나..
실시간 알림 기능은 현대 웹 애플리케이션에서 거의 필수적인 요소가 되었습니다. 사용자 경험을 향상시키고, 애플리케이션의 상호작용성을 높이기 위해 진행중이던 프로젝트에도 SSE를 도입하게 되었습니다. 이 글에서는 Spring Framework와 Server-Sent Events(SSE)를 사용하여 프로젝트를 진행하며 직접 실시간 알림 기능을 구현한 방법에 대해 소개하겠습니다. 1. SSE(Server-Sent Events)란?SSE는 웹 애플리케이션에서 서버로부터 데이터를 비동기적으로 전송받을 수 있는 기술 중 하나입니다. 이를 통해서 서버는 새로운 정보가 있을 때마다 실시간으로 클라이언트에게 데이터를 푸시할 수 있습니다. 웹 애플리케이션에서 실시간 알림기능을 구현할때 매우 유용합니다. 2. 왜 SSE를..