CICD_Workflow_management
in Til on Til
CI/CD
- CI/CD (Continuous Integration/Continuous Deployment )
- 코드 통합, 테스트 빌드 및 배포 자동화 에 특화 → 상품화
workflow management
- 코드 통합, 테스트 빌드 및 배포 자동화 에 특화 → 상품화
- 데이터 처리 작업 스케쥴링, 실행 모니터링 자동화 초점
Comparison
1. CI/CD와 Workflow Management 개요
CI/CD (Continuous Integration/Continuous Deployment/Delivery)
- 주요 목적: 소프트웨어 개발 라이프사이클에서 코드 통합, 테스트, 배포를 자동화.
- 적용 범위: 개발 및 운영(DevOps) 영역의 파이프라인 최적화.
- 핵심 기능:
- 코드 병합 시 자동 테스트 및 빌드 수행.
- 애플리케이션 배포 과정 자동화.
코드 품질 관리와 릴리스 주기 단축.
Workflow Management
- 주요 목적: 다양한 비즈니스 및 기술 프로세스의 워크플로를 정의하고 자동화.
- 적용 범위: 소프트웨어 외 다양한 업무 프로세스에 사용(예: 승인 시스템, 데이터 처리).
- 핵심 기능:
- 여러 단계와 조건에 따라 작업 자동화.
- 다중 프로세스 간의 종속성 관리.
사용자 승인과 상호작용 포함 가능.
2. CI/CD와 Workflow Management의 주요 차이점
| 특징 | CI/CD | Workflow Management | | — | — | — | | 목적 | 소프트웨어 개발에서 통합, 테스트, 배포를 자동화. | 다양한 비즈니스 또는 기술 프로세스의 관리 및 최적화. | | 적용 분야 | 소프트웨어 개발, DevOps | 비즈니스 프로세스, 데이터 워크플로, 승인 시스템 등. | | 주요 기능 | 빌드, 테스트, 배포 파이프라인 관리. | 다중 단계 워크플로 정의, 작업 종속성 및 조건 처리. | | 유연성 | DevOps에 최적화되어 고도로 특화. | 범용적이며 다양한 프로세스에 활용 가능. | | 사용자 상호작용 | 자동화된 프로세스 중심, 사용자 상호작용 제한적. | 사용자 승인을 포함한 상호작용 가능. | | 대표 도구 | Jenkins, GitHub Actions, GitLab CI/CD, CircleCI | Apache Airflow, n8n, Camunda, Zapier, Asana 등. | | 종속성 관리 | 코드 변경 주기의 종속성 관리에 집중. | 데이터 흐름, 사용자 승인, 작업 순서의 종속성 관리. | | 예제 | - 코드 변경 시 자동 테스트 및 배포- 스테이징 및 프로덕션 환경 릴리스. | - 데이터 파이프라인 처리- 승인 요청 후 작업 실행. | —
3. 예시를 통한 비교
CI/CD 예시: GitHub Actions
- 코드가
main브랜치에 푸시됨. - 빌드, 테스트, 배포 단계가 자동으로 실행.
성공 시 프로덕션에 배포 완료.
Workflow Management 예시: Apache Airflow
- 데이터가 매일 특정 시간에 수집됨.
- 데이터 처리 파이프라인 실행.
- 처리 완료 후 결과를 승인자에게 알림.
- 승인 시 데이터 저장소에 업로드.
- 코드가