Continuous integration
소프트웨어 공학에서 지속적 통합(continuous integration, CI)은 지속적으로 품질 관리(Quality Control)를 적용하는 프로세스를 실행하는 것이다. - 작은 단위의 작업, 빈번한 적용. 지속적인 통합은 모든 개발을 완료한 뒤에 품질 관리를 적용하는 고전적인 방법을 대체하는 방법으로서 소프트웨어의 질적 향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점이 맞추어져 있다. 대표적인 CI 툴에는 젠킨스(Jenkins)가 있다.
Categories
- Continuous integration (CI)
- ContinuousIntegration:ImplementationGuide - CI/CD Platform Implementation Guide
- Continuous build (CB)
- Continuous delivery (CD)
- Continuous deployment (CD)
- Continuous Testing (CT)
- Infrastructure as Code (IaC)
- Hudson
- Jenkins
- Bazel (바젤)
- CruiseControl (크루즈 컨트롤)
- Github Actions
- Gitlab CI
- Drone
- Woodpecker CI - Apache 2에서 독점 라이센스로 변경되어 버린 Drone의 0.8 버전을 포크하여 수정한 것
API
- Poozle - 서비스 연동을 위한 오픈소스 싱글 API
ETC
Pipeline
| |
| + GitLab CI#Pipeline 항목 참조 |
- Code
- Commit
- WebHook
- Build
- Unit test
- Integration tests
- Review
- Staging
- Production
Favorite site
Docker
- Jenkins 이용하여 Docker Image 만들기
- Docker와 Gitlab CI를 활용한 빌드, 테스트 자동화
- Automatically build and push Docker images using GitLab CI
References
-
Development_and_Deployment_at_Facebook.pdf ↩