깃허브 액션으로 배포 자동화해 보기(a.k.a CI/CD) - 1화

CI/CD가 뭐냐고요? 쉽게 말해 개발자가 개발을 마치고, 애플리케이션을 빌드하고, 테스트를 하고, 원격 저장소에 코드를 업데이트하고, 이를 배포하는 등의 전 과정을 자동화하는 과정을 말합니다. 대부분의 실무 환경에서는 CI/CD를 진행하죠. 여기서는 깃허브 액션을 활용하여 CI/CD를 진행해봅니다.


본 글은 ‘GitHub Actions으로 배포 자동화해 보기’의 1편으로 CI/CD가 무엇인지 알아보고, 깃허브 리포지터리 생성 및 코드를 푸시하는 과정을 소개합니다.

 

CI/CD란?


앞서 CI/CD라는 표현을 써서 궁금한 독자가 많을 겁니다. 우선 CI/CD의 의미를 이야기하기 전에 CI/CD가 필요한 상황을 생각해봅시다. 만약 여러분의 서비스를 배포하고 운용하던 중에 코드를 변경할 일이 생기면 어떤 작업을 해야 할까요? 우선은 코드 수정을 하고, 로컬 환경에서 테스트를 진행할 겁니다. 그리고 빌드도 잘되는지 확인하겠죠. 그런 다음에는 jar 파일을 생성해 복사하고, AWS에 접속해서 복사한 jar 파일을 업로드해 새 배포 버전을 제공해야 합니다. 지금 이 과정을 기계적으로 계속 할 수 있을까요? 그리고 프로젝트 규모가 엄청나게 커지면 이 작업은 굉장히 힘들 겁니다. 그럴 때 도입하는 것이 CI/CD입니다. 이 용어는 어떤 도구를 의미하는 것이 아니라 방법을 말합니다.


이 방법을 도입하면 빌드부터 배포까지의 과정을 자동화할 수 있고, 또 잘 되는지 모니터링할 수 있습니다. 사실 CI는 지속적 통합, CD는 지속적 제공이라는 의미가 있습니다. 앞서 이 표현을 풀어 설명하지 않았던 이유는 설명해도, 이 과정의 필요성이나 불편함을 상상할 수 없는 단계였기 때문입니다. 이제 여러분은 수정, 빌드, 테스트, 배포 등을 직접했으므로 이 말이 이해가 될 겁니다.


본문 더보기: https://bit.ly/3RvoGkL

GitHub Actions으로 배포 자동화해 보기(a.k.a CI/CD) - 1화 - 골든래빗

골든래빗

GitHub Actions으로 배포 자동화해 보기(a.k.a CI/CD) - 1화 - 골든래빗

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 5월 31일 오전 2:20

 • 

조회 58

댓글 1

함께 읽은 게시물

성장을 위해 완벽주의를 버리다

성장은 무엇인가요? 무엇인가를 얻거나 배우는 것이 성장이라고 생각하시나요? 하지만 내가 스스로 장점이라 생각했던 것을 상황에 따라 바꾸는 것도 성장인 것 같아요 최근에 이렇게 생각을 바꿔가게 되었던 경험을 적어봤습니다

성장을 위해 완벽주의를 버리다

Growth Ryan

성장을 위해 완벽주의를 버리다

레몬베이스 팀의 스크럼 방법

요즘 스타트업에서 스쿼드 조직으로 제품을 개발하는 경우가 많은데요. 대부분은 스프린트 단위로 개발을 진행하는 스크럼 방식을 채택하고 있는거 같습니다. 하지만 스크럼을 제대로 활용하지 못한다면 오히려 전보다 비효율적인 방식으로 일을 할 수도 있는데요. SaaS 스타트업인 레몬베이스 팀이 스크럼 과정을 개선한 회고 글이 있어 공유드립니다. 👮‍♀️ 과거의 스크럼 방식 1. 스프린트 시작 전에 PO가 기획서를 공유 2. 스프린트 시작과 동시에 자율적으로 티켓의 오너를 할당 3. 필요할 때 업무에 관련 있... 더 보기

제품 스쿼드의 스크럼 프로세스 개선기 1부

Medium

제품 스쿼드의 스크럼 프로세스 개선기 1부

 • 

저장 143 • 조회 5,241


어려운 문제를 대하는 태도



... 더 보기

< '시간이 없다'는 세상에서 가장 흔한 거짓말 >

1. 오랜만에 만난 사람은 늘 어색하다. 뭔가 말을 건네야 한다. 인사 없이 지나가긴 애매하다. 하지만 대화 주제는 많지 않다. 날씨, 뉴스 얘기 몇 마디는 어떻게 해본다. 하지만 가장 어려운 건 마무리다.

... 더 보기

이력서에 쓰는 경험



... 더 보기

🤖 최초의 AI 브라우저, Dia 직접 써봤습니다! 🌐

... 더 보기