CI/CD란?
간단하게 말하자면 테스트, 통합, 배포 의 과정을 자동화 하는것을 말함
배우는이유?
실제 운영서버에 기능을 추가 해야한다면 아래와 같이 로직을 수행한다.
개발 -> comit -> 테스트 -> 빌드 -> 운영서버 jar 배포
이게 가끔 한번씩이면 괜찮을거같은데, 만약 급하게 수정해야하거나 여러건의 수정을 나눠서 해야하면
이런작업이 엄청 번거로울거같다.
나또한 이전 회사에서 깃허브 없이 바로 운영서버에서 소스 수정한일이 많았다.
그리고 우린 사람이기 때문에 무조건 급하게 하다보면 한번쯤은 실수 할것이라 생각된다.
그래서 이런 반복적인 과정을 자동화 하기위해 CI/CD를 배운다고 생각하면 된다.
개발 완료 후 commit 하면 빌드되도록 설정할수 있다.
한마디로 우린 commit만 제대로 관리하면 될거같다. (아직 제대로 배운게 아니기 때문에 아닐수도있음)
CI/CD 툴
여러가지가 존재한다.
- Jenkins
- Github Actions
...
툴은 여러개 이지만 나는 Jenkins만 들어봤고, 사실 Jenkins만 존재하는줄 알았는데,
이번에 공부하면서 Github Actions로 공부를 진행할것이다.
Jenkins 단점은 별도의 서버에 구축해야해야 하는 번거로움도 있고,
Github Actions 이용하면 Github에 내장되어 있는 기능을 쓰기만 하면된다.
카카오가 Github Actions 쓴다고함 ..
CI/CD 흐름
1. 개발후 commit
2. github push
3. push 감지하여 Github Actions 작성해둔 방식으로 로직 실행함
4. 서버에서 최신코드로 자동 배포후 서버 재실행
공부는 우연히 유튜브 강의 찾다가 짧고 간단하게 설명해주는 강사님을 찾아서 강의를 들으면서 작성하는 글입니다.
비전공자도 이해할 수 있는 CI/CD 입문·실전 강의 | JSCODE 박재성 - 인프런
JSCODE 박재성 | 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 CI/CD 입문 강의를 만들어봤습니다!, 🤬 에라이, 못 해먹겠네!비전공자로 개발을 시작해 여러 회사에서 CTO로
www.inflearn.com
'프로그래밍 > DevOps' 카테고리의 다른 글
[Github Actions] - SCP 이용하여 CI/CD 구축 (1) | 2024.12.30 |
---|