인프라 슛슈슛슛 4

[Infra] Github Actions 간단 실습(2) ~ 헤로쿠 배포 ~

[Infra] Github Actions 간단 실습(1) ~ 빌드및 테스트 ~ 에서 이어집니다 지난 글에선 github actions을 이용해 깃허브에 올라오는 코드를 빌드 및 테스트하는 워크플로우를 작성해보았다. 이번엔 github actions를 이용해 깃허브에 올라오는 코드를 서버에 배포하는 워크플로우를 작성해보겠다. 여기서 사용할 서버는 heroku로, 여기를 참고하면서 진행하면 도움이 될 것이다. 0. 헤로쿠 무료 플랜 제거 헤로쿠는 2022년 8월 25일, 다가오는 11월 28일부터 무료 플랜과 무료 data service를 더 이상 제공하지 않으며 비활성 계정들도 점진적으로 삭제할 거라 발표했다. (링크) 차후 학생과 비영리 단체를 위한 지원 프로그램을 개설할 거라 했지만 학생 계정만으로도..

[Infra] Github Actions 간단 실습(1) ~ 빌드및 테스트 ~

최근 대학교 동아리 사람들과 간단한 스프링 프로젝트를 만들고 있다. 백엔드 일부와 인프라 전반을 맡게 되었는데, 인프라를 전부 맡은 적은 처음이라 조금 부담이 있었다. 그래도 하다 보니 생각보다 할만해서 재미있게 하고 있다. 최대한 간단하게 CI/CD 환경을 구축하기 위해 헤로쿠와 깃허브 액션을 쓰기로 했다. 순서는 다음과 같다. 1. develop 브랜치를 베이스로 한 PR 브랜치가 올라온다. 2. 깃허브 액션에서 PR을 감지하고 빌드 및 테스트를 돌린다. 3. 빌드와 테스트가 성공적으로 끝나면 코드 리뷰를 진행하고, develop 브랜치에 머지한다. 4. 깃허브 액션에서 머지를 감지하고 헤로쿠 서버에 배포한다. 0. 깃허브 액션이란? 깃허브에서 제공하는 CI/CD 서비스. 레포지토리에서 어떤 이벤트가..

[Infra] kubernetes 간단 정리 (1)

회사에서 쿠버네티스를 쓴다고 해서 저번에 팀리더와 간단한 실습을 했다. 하라는 대로 따라하면서도 대체 무슨 일이 일어나고 있는 건지 감이 잘 잡히지 않았다.. 🥹 마침 시간적 여유가 생겨 간단하게라도 정리해보려고 한다. 진짜 간단함. 완전 입문용. 쿠버네티스란 컨테이너 관리 툴. 좀 더 정확히는, 컨테이너를 쉽고 빠르게 배포, 확장하고 관리를 자동화해주는 오픈소스 플랫폼이다. 컨테이너 관리 툴은 쿠버네티스 이전에도 많이 있었지만(Docker의 스웜, AWS의 ECS, 하시코프의 Nomad, Mesos의 Marathon 등) 쿠버네티스 스펙과 기능이 넘 좋아서 등장 이후로 사실상 일인자가 된 듯 하다. 쿠버네티스를 쓰면 뭐가 좋을까? 1) 모니터링이 쉬워진다 컨테이너가 여러 개 있는데, 그 중 하나의 컨테..

[Infra] heroku로 스프링 프로젝트 빠르고 쉽게 배포해보기

시작하기에 앞서 배포가 뭐임? 📌 배포를 알기 전에 잠깐!! 컴파일과 빌드와 배포의 차이는 알고 있나요? --본인이 번역가라고 해보자-- 1. 영문으로된 글을 한글로 번역하는 것은 컴파일이다. 2. 번역한 글을 책으로 엮는 것은 빌드이다. 3. 완성된 책을 고객들이 읽을 수 있도록 서점에 진열하는 것은 배포이다. 4. 1~2번 과정을 하나로 묶어 '빌드한다'고 하기도 한다. 순서대로 보면 컴파일-빌드-배포지만 “빌드하고 배포하죠” 안에서 빌드는 보통 컴파일을 포함하고 있다. --프로그래밍적 관점으로 보자면...-- 1. 컴파일: 사용자가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 일 2. 빌드: 컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일 3. 배포: 빌드가 완성된 실행 가능한 파..