코드네임 JY

[DevOps] 빌드와 배포, CI/CD 본문

백엔드 공부

[DevOps] 빌드와 배포, CI/CD

영재임재영 2023. 1. 25. 12:11

🍿 빌드와 배포

빌드 (컴파일 + 링크)

컴파일 : 작성한 소스 코드를 바이너리 코드로 변환하는 과정

링크 : 컴파일 결과물에서 실행 가능한 파일을 만들기 위해 필요한 부분을 찾아서 연결해주는 과정

빌드는 소스 코드를 실행 가능한 소프트웨어 산출물(jar, war 등..)로 만드는 일련의 과정이다!

 

배포

✅ 실행 가능한 파일을 사용자가 접근할 수 있는 환경에 배치하는 것

빌드하고 생성된 jar 또는 war 파일을 웹 어플리케이션 서버에 올리는 것

 

여기까지는 알겠다! 근데 하나의 프로젝트를 만들어서 지속적으로 서비스를 제공하려면..

기능을 만들고, 테스트 코드 작성하고, 검증이 완료되면 Github에 코드를 올리고.. 하는 등의 과정을 반복해야하는데,

(매일 내가 그 작업만 하고 있을 수는 없으니) 자동화의 필요성이 생긴다..! 그래서 생긴 개념이 바로..

 

🍩 CI / CD

CI (Continuous Integration)

 코드의 새로운 변경 사항이 정기적으로 빌드(Build) 및 테스트(Test)를 거쳐 리포지토리에 병합(Merge)되는 과정

✅ 지속적으로(Continuous) 통합(Integration)을 진행하는 것 → CI

 

CD (Continuous Delivery or Deployment)

✅ 개발자의 변경 사항이 있는 리포지토리에서 고객이 사용 가능한 프로덕션 환경까지 배포하는 것

지속적으로(Continuous) 제공(Delivery)하거나 자동으로 배포(Deployment)하는 것 → CD

 

어쨌든! 개발자가 만든 코드를 나만 사용할 순 없으니! 다른 사람들이 사용할 수 있도록 서비스하는 것이 필요하다!

그래서 나의 코드를 서비스할 수 있게 해주는 도구들이 몇 가지 있는데..!

 

지금까지 공부하면서 들어본 CI/CD 도구는 이 정도이다! 사실 배포는 처음이라...

Jenkins나 Travis CI는 좀 복잡하다고 해서 학교 선배님이 Github Actions를 추천해주셨다!

다음 포스팅에는 Github Actions를 사용해 실제로 내가 만든 코드를 배포해보겠다!

'백엔드 공부' 카테고리의 다른 글

[오브젝트] 객체지향 설계  (0) 2023.02.05
[DevOps] Github Actions CI/CD  (0) 2023.01.27
[CRUD 연습] CRUD 기능 구현  (0) 2023.01.13
[CRUD 연습] 405 Error in Spring  (0) 2023.01.12
[CRUD 연습] 406 Error in Spring  (0) 2023.01.12
Comments