1. 개념
테스트(Test), 통합 (Merge) , 배포 (Deploy)의 과정을 자동화 하는 것
CI : continuous Integration
CD : continuous deploy
코드의 수정이 일어날 때마다 반복하기 귀찮고, 번거롭기 때문에 이러한 반복적인 과정을 자동화 시키기 위해 CI/CD 인프라를 구축하는 것이다
2. CI/CD 구축 시 사용할 Github Actions
- CI/CD 구축 Tool
- Github Actions, Jenkins, Circle CI, Travis CI etc.
- 현업에서 많이 사용하면서, 무료로 사용할 수 있고, 빌드용 서버가 필요 없는 Github Actions을 활용하는 경우가 많음
- Jenkins 도 많이 사용하지만, 단점으로 별도의 서버 구축이 필요하여 비용이 발생하기 된다
- Github Actions은 별도의 서버 구축 없이 Githubdp
3. CI/CD 흐름
Github Actions은 로직을 실행시킬 수 잇는 일종의 컴퓨터
CI/CD 과정에서 Github Actions은 “빌드, 테스트, 배포”에 대한 로직을 실행시키는 역할
- 코드 작성 후 commit
- github에 push
- push 라는 이벤트를 감지해서 github Actions에 작성한 로직이 실행
- build
- test
- 서버로 배포
- 서버에 배포된 최신 코드로 서버를 재 실행
4. github Action 작동 기초
- 새로운 폴더 생성
- .github/workflows/
- github Actions 에서 실행될 로직 작성
- deploy.ymal
- git repository upload
- 용어하나의 yaml 파일을 하나의 workflow 로 부름workflow 가 실행되는 시점 설정Job :Job은 여러 step 들로 구성특정 작업을 수행하는 가장 작은 단위
- Step :
- 하나의 workflow는 1개 이상의 Job으로 구성되고, 여러 Job은 기본적으로 병렬로 수행
- ex) main 브랜치에 push 될 때 해당 workflow를 실행
- Event :
- workflow :
- 흐름→ workflow는 여러개의 Job으로 구성, Job은 여러 Step으로 구성 되어 있기 때문에 Step이 순차적으로 위에서 아래로 실행
- → Event 가 발생했을 때 해당 workflow를 실행
'BackEnd' 카테고리의 다른 글
도커와 쿠버네티스 -K8S(spring boot 의 통신 with Ingress) (0) | 2024.12.02 |
---|---|
도커와 쿠버네티스 -K8S(네트워크 통신_pod들의 통신) (0) | 2024.11.24 |
도커와 쿠버네티스 -K8S(스토리지 볼륨) (0) | 2024.11.20 |
도커와 쿠버네티스 -K8S(환경 변수) (0) | 2024.11.17 |
도커와 쿠버네티스 -K8S (Deployment) (0) | 2024.11.14 |