🌟1주차 목표
✅ 지속적인 빌드와 지속적인 배포(CI/CD)가 무엇인지 그리고 실무에서 왜 필요한지 이해합니다.
✅ 강좌의 진행을 위해서 리눅스 설치와 기본 명령어, Docker의 설치와 기본 사용 그리고 AWS Cloud account를 만듭니다.
🤔 CI/CD가 중요한 이유?
지속적인 통합과 지속적인 배포를 뜻하는 CI/CD는 자동화된 프로세스로서 개발-빌드-테스트-배포의 전과정을 하나의 파이프라인으로 만들고 자동화해서 효과적으로 빠르게 출시할 수 있고 다양한 조직이 협업하는 기본적인 환경이 되어준다.
CI, CD, GitLab
CICD는 애플리케이션 개발의 4단계의 프로세스 (코드 개발, 빌드, 테스트, 배포)를 사람의 개입 없이 연속적으로 이루어지게 한다.
여러명이 함께 개발한 소스 코드를 통합하여 빌드하면 배포 가능한 패키지가 만들어지는데 CI는 코드 통합, 빌드, 테스트, 패키징까지의 과정을 자동화하고 CD는 통합된 패키지를 다양한 환경에 자동으로 배포한다.
이러한 CICD를 위한 전체 과정을 구축하고 관리하는 소프트웨어가 GitLab이다.
🗨️ Continuous Integration
- 새로운 변경사항에 대해 자동으로 빌드를 수행
- 빌드 후 자동으로 코드 레벨의 테스트가 실행
- 테스트가 끝난 후 도커를 통해 패키징을 수행
🗨️ Continuous Delivery
- 전단계에서 만들어진 패키지(TAR.GZ/Docker Image/Install File)를 가지고 성능, 기능, 보안 테스트를 수행
- 테스트 후 클라우드, 데이터센터, 쿠버네티스 등 다양한 환경에 배포
🗨️ GitLab
- CICD 프로세스를 자동화하기 위한 오픈 소스 자동화 도구
- 자동화를 위한 코드를 만들기위한 스크립트 제공
- 전체 공정을 시각화하여 확인 가능
GitLab의 장점
- 오픈소스로 커뮤니티 활성
- 자체 Git 저장소 제공하여 통합된 환경을 제공
- 다양한 플러그인 보유하여 쉬운 기능 확장 가능
- 자체 호스팅이 가능
'주간 랩업 > [SCC] Docker 기반 CI&CD 파이프라인 구축하기' 카테고리의 다른 글
1-10. Docker란? (0) | 2025.03.24 |
---|---|
1-8. Linux 코드 작성 환경 준비하기, 생성한 EC2 인스턴스에 연결하기 (0) | 2025.03.24 |
1-6. Linux 사용하기 - Virtual Box와 Ubuntu 설치 (0) | 2025.03.24 |
1-4. AWS Cloud (0) | 2025.03.19 |
기초역량 국비지원 과정 시작...! (+코테 스터디) (0) | 2025.03.18 |