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 보다는 도커 이미지의 정확한 버전을 적어주는 것이 예상치 못한 업그레이드를 막아줌
'BE 📙 > 비전공자도 이해할 수 있는 cicd 입문 실전' 카테고리의 다른 글
| 개인 프로젝트(백엔드)에서 CI/CD 적용하기 (0) | 2025.03.18 |
|---|---|
| 백엔드 CI/CD에 필요한 AWS 지식 (0) | 2025.03.10 |
댓글