Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

290570

Docker & CI/CD - 1 본문

카테고리 없음

Docker & CI/CD - 1

qordpsem 2025. 3. 18. 21:00

# OT

 1) 커리큘럼 명 : Docker 기반 CI/CD 파이프라인 구축하기

 2) 기간 : 4주(5주)

 3) 특강 날짜 : 3/20, 4/3

 

 

# Chapter

 1. GitLab 기반 CI/CD 소개 및 학습 환경 구축

 2. GitLab 설정, 첫번째 Docker Application 빌드

 3. GitLab으로 Python Flask 지속적인 빌드 환경 만들기  ->  CI

 4. GitLab으로 AWS Cloud로의 지속적인 배포 환경 만들기  ->  CD

 5. Review

 

 

 

Source > Build > Test > Deploy

CI = Continuous Integration 지속적인 통합  (Source > Build)

CD = Continuous Delivery, Continuous Deployment (Test > Deploy)

 

Automation 이 핵심 <자동화>

 

 

 

# Continuous Integration

자동 빌드 : 새로운 변경사항이 있을때 자동으로 빌드 수행

자동 테스트 : 빌드 후에 자동으로 테스트가 실행

개발자들이 git 에 변경사항 push  ->  Build (의존성 설치, 컴파일)  ->  Test (Unit Test, Test Coverage, 정적/동적 분석)  ->  Dockerizing(Docker Image 생성)

 

 

# Continuous Delivery

자동 테스트 : 배포 전 품질을 보장하기 위한 자동화된 테스트

자동 배포 : 테스트 후 자동으로 목표지점으로 배포

CI 성공적으로 완료하면 패키지 생성됨  ->  패키지 전달  ->  전체 제품 레벨의 Test 실행  ->  Test 성공적으로 완료 후 자동 배포

 

 

# GitLab

CI/CD 프로세스를 자동화하기 위한 오픈소스 자동화 도구

자동 빌드, 자동 테스트, 자동 배포, 웹 기반 사용자 인터페이스, 자동화 스크립트 제공

시각화 할 수 있는 툴 제공

유사한 다른 툴 : Jenkins, argo, circleci 등

 

# GitLab 선택 이유

오픈소스, 자체 Git 저장소, 통합된 환경, 다양한 플러그인 제공, 활성화된 커뮤니티, 안전성과 안정성, 자체 호스팅, issue 관리 툴

 

 

 

# Cloud

클라우드를 이용하면 네트워크, 컴퓨터 시스템, 운영체제, 데이터베이스, 스토리지, AI, ML, 모니터링 등을 직접 구축하지 않고, 클라우드로부터 빌려서 사용하여 애플리케이션 개발에 집중 할 수 있음

속도와 유연성이 중요한 스타트업에서 사용, 시장 속도에 대응하기 위해 대기업도 도입 증가