본문 바로가기

DevOps7

AWS Elastic Beanstalk (2) - github action을 연동한 배포 이전 포스팅에서는 가장 기본적인 hello world 애플리케이션을 aws elastic beanstalk로 배포하는 방법에 대해서 알아봤다.이번 포스팅에서는 github action을 연동하여 배포하는 방법에 대해서 살펴보겠다. 이전 포스팅을 보고 싶으면 여기를 참조한다. 여기서 작성한 hello-world 애플리케이션 깃허브는 여기를 참조하자.   1. Github Action yml 빌드 파일 작성프로젝트에 .github/workflows 디렉토리를 만들고 그 아래에 deploy.yml 파일을 생성한다. github action에서 수행되는 build 스크립트를 작성한다.name: helloworld-webappon: push: branches: - master workflow_.. 2021. 12. 13.
AWS Elastic Beanstalk (1) - 구축 1. 서버 운영의 복잡함서버를 운영해본 사람들은 알겠지만 서버 하나를 운영하는데는 정말 많은 과정이 필요하다. 예를 들어서 스프링 부트로 웹 애플리케이션을 개발했다면 이를 실행하기 위해서 서버에 자바도 설치해줘야하고, 주기적으로 버전도 업데이트 해줘야한다. 또한 배포한 애플리케이션에 버그가 있다면 빠르게 장애를 처리해서 배포하거나, 이전 버전으로 롤백을 해줘야한다. 그리고 서버가 잘 동작하고 있는지도 모니터링을 해야한다. 위에서 얘기한 내용만 정리해도 아래와 같은 것들을 개발자가 신경써야한다.installupgraderollbackmonitoring 이러한 일들을 플랫폼이 알아서 해준다면 개발 생산성을 크게 향상 시킬 수 있을 것 이다. 2. AWS Elastic Beanstalk 구축AWS의 Elast.. 2021. 12. 12.
Elastic Stack(ELK Stack) 설치 이번 포스팅에는 Elastic Stack을 설치하는 방법에 대해서 정리하려고한다. docker,docker-compose가 설치되어 있지 않다면 여기를 참고하면된다. AWS의 EC2에 설치를 진행한다. 아래 과정을 다 완료하고 스프링 부트에 logstash를 연동하고 싶으면 여기를 참고한다. 1. docker-elk 설치 docker를 사용해서 ELK를 구축하려고한다. 깃허브에 편하게 설치할 수 있게 구성되어있는게 있어서 그걸 사용한다. git clone https://github.com/deviantony/docker-elk.git cd docker-elk 2. Elasticsearch 설정 변경 X-pack 플러그인은 Security 관련 부분이다. $ vi elasticsearch/config/el.. 2021. 11. 28.
CI/CD 구축하기(4) - 애플리케이션 배포 이번 챕터에서는 EC2 서버에 애플리케이션을 배포하는 방법에 대해서 알아보겠다. 깃허브에 runner를 세팅하고 build가 끝나면 EC2 서버에서 해당 runner를 실행하여 자동으로 배포가 되게 한다. 1. github action deploy job 추가 github action의 yml 파일에 deploy 관련 내용을 추가한다. 내가 실행할 도커 컨테이너의 이름은 spring-template이다. deploy 시 해당 도커 컨테이너가 올라와있으면 중단 후 이미지를 삭제한다. 그리고 도커 허브에 올려놓은 이미지를 받아와서 컨테이너를 서버에 올린다. name: Java CI with Gradle on: push: branches: [ master ] pull_request: branches: [ ma.. 2021. 9. 1.
CI/CD 구축하기(3) - 텔레그램 알림 설정 이번편에서는 docker image가 docker hub에 업로드 되면 텔레그램으로 알림을 받을 수 있게 설정하겠다. 1. 텔레그램 token 및 chnl_id 조회 텔레그램을 github action에서 사용하기 위해서는 텔레그램 token과 해당 채널 id를 조회해야한다. token을 구하기 위해서는 먼저 BotFather을 이용하여 bot을 생성해야한다. https://web.telegram.org/k/ 에 접속해서 BotFather을 검색하자 우측 대화창 부분에 아래와 같이 대화를 시작할 수 있는 창이 보이는데 여기서 START 를 눌러 대화를 시작한다. 아래와 같이 사용할 수 있는 명령어들이 쭉 나열된다. 이제 봇의 name 과 username 을 입력한다. name 은 봇을 부르는 이름이다. .. 2021. 8. 25.
CI/CD 구축하기(2) - Docker Hub 이번편에서는 지난 CI/CD 구축하기(1) - Github Action 이란? 에서 빌드한 결과를 Docker 이미지로 만들어서 Docker Hub에 push 해보는 과정까지 진행해보겠다. 1. Docker Hub 회원 가입 및 토큰 발행 먼저 Docker Hub에 접속해서 회원 가입 및 로그인을 한다. Docker Hub에서는 소스 코드를 깃허브에 올려서 관리하는 것 처럼, 빌드한 도커 이미지를 Docker Hub에 저장해서 사용할 수 있도록한다. Github Action에서 Docker에 이미지를 올리기 위해서 인증 token을 발행한다. 토큰 발행하는 방법은 여기를 참고한다. 2. Github Action Docker 이미지 PUSH github repository의 Settings -> Secre.. 2021. 8. 25.