본문 바로가기
BE 📙/비전공자도 이해할 수 있는 cicd 입문 실전

CI/CD, Github Actions 기본 개념

by 경아ㅏ 2025. 3. 13.


CI/CD (Continuous Integration, Continuous Deployment)


테스트(Test), 통합(Merge), 배포(Deploy)의 자동화

(CI/CD 가 없다면? 코드 수정(커밋, 머지) 할 때마다 서버에 직접 들어가서 새로운 코드를 다운받고(git pull) 다시 실행하는 과정을 수동으로 해야…)

 

 

CI/CD 일반적인 과정


develop -> commit -> build -> test -> deploy

 

CI/CD를 구축할 때 사용할 수 있는 툴


1) Github Actions
2) Jenkins
3) Circle CI

4) Travis CI ...


 

Github Actions 사용하기


사용 흐름


1) 개발자가 새로운 코드를 commit, push
2) Github 에서 push 이벤트를 감지
3) Github Actions 의 빌드, 테스트, 배포 로직 실행
4) 서버에서 배포된 최신코드로 서버 재실행

 

 

작성 방법


0) 공식문서 - https://docs.github.com/ko/actions
1) 최상단 폴더 > .github > workflows > xxx.yml - GitHub actions 파일 문법에 따라서 어떠한 이벤트가 발생했을 , 어떤 job 실행할 것인지 기술
2) runner 가 돌아갈 서버 지정하기
- 원래는 runs-on: ubuntu-latest 실행하려고 했으나 사내 oss 에서는 self-hosted-runner 만 사용가능하다고 하여 별도로 서버 파드 n개를 띄워 도커파일로 배포

- xxx-latest 보다는 도커 이미지의 정확한 버전을 적어주는 것이 예상치 못한 업그레이드를 막아줌

 

 

댓글