[TIL]도커는 뭐고 젠킨스는 또 뭐야
ISSUE1. Docker 너 뭔데
❓문제상황
- 로컬에서 인프라 구축을 시도하다가 도커가 뭘까 뭐하는 앨까? 의문이 들었다.
❗해결방법
- 도커는 마이그레이션을 쉽게 해준다.
- 도커라는 컨테이너안에 언어, 웹서버, 데이터베이스, 자동배포툴 등등을 이미지화해서 도커허브에 올리면 다운받을 수 있다!
- 예를 들어, 내가 이사를 갈때 의자, 책상 같은 것들을 이사가서도 똑같은 배치로 놓고 싶을 때 도움이 되는 역할이 도커라고 생각하면 된다.
- 🎈 컴퓨터 새로샀을때 카카오톡 깔고 한글 깔고 워드깔고 다~ 따로 깔던것들을 그냥 도커 컨테이너를 하나 다운받으면 컴퓨터 세팅 완.
- 그럼 virtual machine이랑 다른 점은 뭘까?
- virtual machine은 하나의 물리적 컴퓨터 안에 각각 OS를 가동하는 가상 컴퓨터들이 물리적 자원을 분리해서 쓰기 때문에 한계가 있다.
- 🎈 큰 집에 작은 집을 지어서 큰집에 있는 화장실두고 작은집에도 화장실 또 지어.. 그리고 전기를 쓴다면 1번집은 30퍼써 2번집은 20퍼써 이런 식으로 자원을 한정지어서 쓰게함
- 도커는 OS위에서 실행환경만 독립적으로 돌리기 때문에 컴퓨터에 직접 요소를 설치하는 것과 별 차이 없는 성능을 낼 수 있고 빠르게 각각을 설치하고 실행을 끄고 켜고 연동하고를 할 수 있다.
- 🎈방으로 나눠서 거기에 여러 사람이 들어갈 수도 방들을 연결해서 사용할 수도 있다. 호텔의 커넥팅룸 생각하면 편할듯 가림막내려서 방 두개로 쓸수도있고 올려서 방 하나로 크게 쓸 수도 있는 방이 커넥팅룸.
- virtual machine은 하나의 물리적 컴퓨터 안에 각각 OS를 가동하는 가상 컴퓨터들이 물리적 자원을 분리해서 쓰기 때문에 한계가 있다.
- 그래서 도커 왜쓰는데..
- 개발자 컴퓨터에서 스프링 부트 깔고 리액트깔고 mysql깔아서 개발완 → 이제 서버에 올려야함, 즉 배포해야됨 → 서버용 컴퓨터에 언제 까냐..? 서비스1은 버전 0.1쓰고 서비스2는 버전0.2사용하면 충돌날 수 있는데..? → 이걸 도커로 해결할 수 있음 → 도커 이미지는 컨테이너를 찍어내는 틀
ISSUE2. Jenkins 너도 뭔데
❓문제상황
- 자동적으로 프로젝트를 테스팅하고 합치는건 OK 근데 왜씀?
❗해결방법
- 그럼 일단 CI/CD 부터..
- CI(Continuous Integration) : Build - Test - Merge
- CD(Continuous Delivery/Deployment) : 해당 레퍼지토리에서 릴리스하고 실제 서비스에 배포
- 이러한 코드 배포 과정을 체계화하고 테스트를 강제함!
This post is licensed under CC BY 4.0 by the author.
Comments powered by Disqus.