# Github Actions 배포 시간 줄여볼까?

> Clean Markdown view of GeekNews topic #16313. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16313](https://news.hada.io/topic?id=16313)
- GeekNews Markdown: [https://news.hada.io/topic/16313.md](https://news.hada.io/topic/16313.md)
- Type: news
- Author: [whatsup](https://news.hada.io/@whatsup)
- Published: 2024-08-14T11:40:43+09:00
- Updated: 2024-08-14T11:40:43+09:00
- Original source: [blog.lemonbase.team](https://blog.lemonbase.team/github-actions-배포-시간-줄여볼까-5725b92e36d9)
- Points: 9
- Comments: 0

## Summary

Github Actions를 활용한 배포 시간을 단축하기 위해 다양한 개선 작업을 어떻게 진행했는지 설명합니다. 병렬 처리 도입, 선택적 빌드 트리거, Docker Image 재사용 등의 방법을 통해 배포 시간을 55% 단축하고 개발 생산성을 향상시킨 경험을 공유합니다. 또한, Workflow 모듈화를 통해 재사용성과 유지보수 용이성을 높인 점도 다룹니다.

## Topic Body

#### Github Actions 배포 시간 줄여볼까?  
  
Github Actions를 활용한 배포 시간을 단축하기 위해 시도한 다양한 방법들과 그 과정에서 겪은 문제를 해결한 경험이 들어간 글입니다.   
  
- 배포 시간이 점차 길어지면서 개발 속도와 팀 생산성에 악영향을 미치는 문제가 발생  
- 문제를 해결하기 위해 배포 프로세스를 병렬 처리로 전환하고, 선택적 빌드 트리거를 도입하는 등 여러 가지 개선 작업을 어떻게 진행했는지 설명된 글입니다  
  
##### 문제 상황  
- Github Actions를 사용한 배포 시간이 점차 길어져 평균 배포 시간 27분을 기록  
- 개발 생산성에 영향을 미치기 시작  
- Frontend, Intro, Backend를 순차적으로 빌드 및 배포하는 방식으로, 시간이 지나면서 비효율적인 배포 방식이 되면서 배포 시간이 늘어남  
  
##### 주요 개선 사항  
- 병렬처리 도입  
  - 직렬로 배포되는 Frontend와 Backend 배포 작업을 병렬로 분리해 배포 시간을 27분에서 18분으로 단축.  
  - 이 과정에서 Github Workflow 코드 모듈화도 진행  
- 선택적 빌드 트리거 도입  
  - 변경된 부분만 빌드하도록 path-filter를 사용했으나, 롤백 시 문제되는 상황을 발견  
  - path-filter 방식을 사용하지 않고, 개발자가 배포 대상을 선택할 수 있도록 Workflow 옵션으로 제공  
- Docker Image Tag 사용 전략  
  - Docker Image 재사용을 통해 배포 시간을 18분에서 15분으로 단축.  
- Deploy 병렬 처리  
  - Deploy 단계에서도 병렬 처리가 가능하도록 분리하여 배포 시간을 추가로 단축  
- 인트로 분리  
  - 프론트엔드에서 인트로 페이지 빌드를 서비스 빌드와 분리하여 배포 효율성을 극대화.  
  
##### 결과  
- 배포 시간 55% 감소(27분 -> 12분)  
- 최대 70% 시간 단축 가능, 인프라 비용 절감, 제품 개발 생산성 향상.  
- 추가 이점  
  - Workflow 모듈화를 통해 재사용성 및 유지보수 용이성 향상  
  - 문제 해결 시간 단축, 시스템 안정성 증대

## Comments



_No public comments on this page._
