728x90
반응형
CI가 무엇인지랑 Github Actions로 어떻게 파이프라인 구축할 수 있는지 간단하게 정리해보았습니다.
1. CI(Continuous Integration)란?
CI(지속적 통합)는 개발자들이 작업한 코드를 정기적으로 공용 저장소(Git 등)에 통합하고, 그때마다 자동으로 빌드와 테스트를 수행하는 프로세스를 말합니다.
- 핵심 목적: 여러 명의 코드가 섞였을 때 발생하는 충돌을 빨리 찾고, 버그가 섞인 코드가 배포되지 않도록 방지하는 것입니다.
- 성공 기준: "코드를 합쳤을 때 빌드가 깨지지 않고, 모든 테스트 케이스를 통과하는가?"
2. GitHub Actions로 CI 파이프라인 구축하기
GitHub Actions는 GitHub 저장소 내에서 특정 이벤트(Push, PR 등)가 발생했을 때 미리 정의된 작업(Workflow)을 실행해 주는 도구입니다.
① 설정 방법
프로젝트 루트 디렉토리에 .github/workflows/ 폴더를 만들고, .yml 파일을 생성합니다. (예: ci.yml)
② 파이프라인 구성 예시 (Java/Spring Boot 기준)
name: Java CI with Gradle
# 1. 언제 실행할 것인가? (Trigger)
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
# 2. 어떤 환경에서 무엇을 실행할 것인가? (Jobs)
jobs:
build:
runs-on: ubuntu-latest # 실행 환경 (Linux)
steps:
- uses: actions/checkout@v4 # 코드 가져오기
- name: Set up JDK 17
uses: actions/setup-java@v4 # 자바 설치
with:
java-version: '17'
distribution: 'temurin'
- name: Grant execute permission for gradlew
run: chmod +x gradlew # 권한 부여
- name: Build and Test with Gradle
run: ./gradlew build # 빌드 및 테스트 실행 (가장 중요한 단계!)
3. 자동화 파이프라인의 흐름
- Code Push: 개발자가 로컬에서 작업 후 main 브랜치로 코드를 보냅니다.
- Workflow Trigger: GitHub Actions가 이를 감지하고 가상 서버(ubuntu)를 띄웁니다.
- Build & Test: 설정된 스크립트에 따라 JDK를 깔고, 의존성을 받고, 테스트 코드를 돌린 뒤 빌드합니다.
- Feedback: 만약 테스트가 실패하면 빨간색 X 표시와 함께 알림이 옵니다. 성공하면 초록색 체크 표시가 뜨며 안전하게 통합되었음을 알립니다.
반응형
'Study' 카테고리의 다른 글
| [내일배움캠프 TIL] 26일차 - DB 성능 최적화 전략 (0) | 2026.05.12 |
|---|---|
| [내일배움캠프 TIL] 25일차 - 캐싱 전략 (0) | 2026.05.11 |
| [내일배움캠프 TIL] 23일차 - Docker & Docker Compose (0) | 2026.05.07 |
| [내일배움캠프 TIL] 22일차 - Github Flow vs Git Flow (3) | 2026.05.06 |
| [내일배움캠프 TIL] 21일차 - MSA 구조 도식화 (0) | 2026.05.04 |