서비스 빌드/배포
코드를 작성했다면 이제 배포할 차례입니다. KIWI는 복잡한 빌드와 배포 과정을 간단하게 만들어 줍니다. 이 가이드에서는 소스 코드를 컨테이너 이미지로 빌드하고, 원하는 환경에 배포하는 전체 과정을 안내합니다.

컨테이너는 애플리케이션과 실행 환경을 하나로 묶어서 "내 컴퓨터에서는 되는데..."라는 문제를 해결합니다. 개발, 테스트, 운영 환경 어디서든 동일하게 동작하는 것이 컨테이너의 가장 큰 장점입니다.
파이프라인 개요
KIWI는 4단계 파이프라인으로 서비스의 전체 라이프사이클을 관리합니다:
Source → Build → Deploy → Operate
- Source (소스 코드 관리): Git 연동, SAST 보안 분석 기능을 제공합니다.
- Build (컨테이너 이미지 빌드): Kaniko 빌드, SCA 취약점 분석을 수행합니다.
- Deploy (배포 실행): K8s/Docker 배포, 롤백 기능을 제공합니다.
- Operate (운영 관리): 모니터링, 로그 조회, DAST 스캔을 수행합니다.
Kaniko는 Docker 데몬 없이 컨테이너 내에서 이미지를 빌드하는 도구입니다. 보안이 강화된 Kubernetes 환경에서도 안전하게 이미지를 빌드할 수 있습니다.
빌드/배포 시나리오 선택하기
어떤 시나리오가 나에게 맞을까요? 아래 가이드를 참고하세요.
CI/CD 자동화 - "코드 푸시하면 자동 배포!"
자동화를 통해 반복 작업을 줄이고 실수를 방지하세요.
-
Auto CI 설정 - GitLab Webhook 기반 자동 빌드/배포 설정
- 코드 푸시 시 자동으로 빌드하고 배포합니다.
- 한 번 설정하면 수동 작업이 필요 없습니다.
-
Build Wizard - Dockerfile 자동 생성 마법사
- Dockerfile이 없어도 걱정하지 마세요
- 프로젝트를 분석해서 최적의 Dockerfile을 만들어 줍니다.
수동 빌드/배포 - "직접 컨트롤하고 싶어요"
세밀한 제어가 필요하거나 처음 시작하는 분들에게 추천합니다.
- 수동 빌드 - 빌드 설정을 직접 구성하고 실행
- K8s 배포 - Kubernetes 클러스터에 배포
- K8s YAML 생성 - 배포 YAML의 Kind별 옵션과 실전 구성 예시
- Docker 배포 - Docker/Podman 런타임에 배포
- 롤백 - 문제 발생 시 이전 버전으로 빠르게 복원
서비스 설정 - "도메인이랑 HTTPS 설정도 하고 싶어요"
- 도메인/SSL 설정 - 커스텀 도메인 연결 및 HTTPS 설정
빠른 시작 가이드
처음 배포하는 경우
처음이시라면 아래 순서대로 따라해 보세요:
-
서비스 등록하기 서비스 등록 가이드를 참고하여 서비스를 먼저 등록하세요.
-
빌드 설정하기
- Dockerfile이 있다면 → 수동 빌드
- Dockerfile이 없다면 → Build Wizard로 자동 생성
-
배포하기
자동화를 원하는 경우
이미 수동 배포를 해보셨다면, 자동화로 업그레이드하세요:
- 서비스 등록이 완료된 상태에서
- **Auto CI 설정**으로 GitLab Webhook 연동
- 이제 코드를 푸시하면 자동으로 빌드와 배포가 실행됩니다!
개발 브랜치는 개발 환경으로 자동 배포, main 브랜치는 스테이징 환경으로 자동 배포하고, 프로덕션은 수동 승인 후 배포하는 것이 안전합니다.
사전 요구사항
빌드/배포를 시작하기 전에 다음 사항을 확인해 주세요:
- 서비스 등록 완료: [서비스 관리] 페이지에서 서비스가 등록되어 있어야 합니다.
- Git 연동 완료: 서비스에 GitLab URL과 Access Token이 설정되어 있어야 합니다.
- Registry 설정 완료: Harbor 또는 DockerHub 레지스트리 정보가 등록되어 있어야 합니다.
- 런타임 등록 완료: K8s 또는 Docker 런타임이 [런타임 환경] 페이지에 등록되어 있어야 합니다.
빌드 버튼이 비활성화되어 있다면 위 조건 중 하나가 충족되지 않은 것입니다. 서비스 설정 페이지에서 누락된 항목을 확인하세요.
다음 단계
빌드와 배포를 완료했다면, 이제 보안과 운영을 살펴보세요: