Spring Boot 파이프라인 교실
Azure DevOps · Azure Pipelines · Spring Boot

코드를 push하면 서버에 배포되기까지

Azure Pipelines는 azure-pipelines.yml 파일에 적힌 순서대로 빌드, 테스트, 패키징, 배포를 자동으로 실행합니다. 아래에서 단계를 하나씩 눌러 보고, 시뮬레이터에서 직접 파이프라인을 돌려 보세요.

git push → Maven 빌드 → JUnit 테스트 → app.jar → Docker 이미지 → Dev → 승인 → Prod
1 · 파이프라인 지도

일곱 단계로 보는 Spring Boot 파이프라인

동그라미를 누르면 그 단계가 하는 일과 YAML 코드가 아래에 나옵니다. 앞 네 단계는 CI(지속적 통합), 뒤 세 단계는 CD(지속적 배포)입니다.

2 · 시뮬레이터

직접 파이프라인을 실행해 보기

상황을 고른 뒤 파이프라인 실행을 누르세요. 실제 Azure DevOps 화면처럼 단계가 차례로 진행되고, 오른쪽에 로그가 찍힙니다. 실제 서버에 연결되지 않은 연습용 화면입니다.

① 무엇을 했나요? (트리거)
② 코드 상태
③ 운영(Prod) 배포 규칙
실행 대기 중
실행 로그
설명실행 버튼을 누르면 지금 무슨 일이 일어나는지 여기에서 쉽게 풀어 드립니다.
결과 없음아직 실행하지 않았습니다.

연습 미션

시뮬레이터로 아래 상황을 하나씩 만들어 보세요. 성공하면 자동으로 체크됩니다.

3 · 용어 사전

처음 보면 헷갈리는 말들

Pipeline
빌드부터 배포까지의 자동화 작업 전체. YAML 파일 하나로 정의합니다.
Trigger
파이프라인을 시작시키는 사건. 특정 브랜치 push, PR 생성, 정해진 시간(schedule) 등이 있습니다.
Stage
큰 단계. Build, Deploy_Dev처럼 묶음 단위이며 앞 Stage가 실패하면 보통 뒤는 실행되지 않습니다.
Job
Stage 안의 작업 단위. 하나의 Job은 하나의 Agent(빌드 서버)에서 실행됩니다.
Step / Task
Job 안의 한 줄 명령. Maven@4처럼 미리 만들어진 Task를 가져다 씁니다.
Agent
실제로 명령을 실행하는 컴퓨터. ubuntu-latest 같은 Microsoft 호스팅 Agent를 많이 씁니다.
Artifact
빌드 결과물(예: app.jar). 다음 Stage가 다시 빌드하지 않고 이것을 내려받아 씁니다.
Environment
배포 대상(dev, prod). 승인(Approval), 배포 이력 확인 같은 보호 장치를 걸 수 있습니다.
Variable Group
비밀번호, 접속 주소 같은 값을 모아 둔 곳. Azure Key Vault와 연결해 비밀값을 안전하게 씁니다.
Service Connection
파이프라인이 Azure, ACR, SonarQube 등 외부 서비스에 접속할 때 쓰는 인증 정보.
Condition
"main 브랜치일 때만 배포" 같은 실행 조건. condition: eq(...)으로 씁니다.
ACR
Azure Container Registry. 만든 Docker 이미지를 보관하는 저장소입니다.