CI/CD를 구축할 때 사용하는 툴
Github Actions
- GitHub에서 제공하는 CI/CD 도구
- 통합: GitHub에서 바로 CI/CD 파이프라인을 구축할 수 잇다.
- 이벤트 기반: 코드 푸시, PR 생성, 이슈 생성 등의 이벤트를 기반으로 워크플로우를 실행한다.
- YAML 구성: ./github/workflows 폴더에 YAML 파일로 워크플로우를 정의한다.
- 자동화 기능: 테스트, 빌드, 배포, 린트 등 다양한 작업을 자동화할 수 있다.
Jenkins
- 오픈소스 CI/CD 도구로, 오래전부터 지속적으로 사용되어 온 매우 유연한 CI 서버
- 독립적인 CI 서버: GitHub 외 다양한 코드 저장소나 배포 환경과 연동 가능하며, 독립적인 서버에서 작동한다.
- 플러그인: Jenkins는 플로그인 시스템을 통해 GitHub, AWS, Docker, Kubernetes 등과 쉽게 통합 할 수 있다.
- 자체 서버 관리: Jenkins는 로컬 서버나 클라우드에 설치하여 직접 관리하며, 필요에 따라 여러 워커 노트를 구성해 확장할 수 있다.
- 파이프라인 스크립트: Jenkinsfile이라는 스크립트를 통해 파이프라인을 정의하며, 이를 통해 빌드, 테스트, 배포 과정을 자동화한다.
등등이 있다.
- 각각의 장단점이 있고 상황에 맞게 선택하여 사용하면 된다.