본문 바로가기
Infra & Tools/CI & CD

배포란 ?

by 깐니 2022. 6. 2.

배포 ?
만든 작업물을 외부 환경에 공개하는 일.




1. FTP 나 원격저장소로 설치 & 실행


FTP를 통해 서버에 소스 코드를 업로드하거나 GitHub와 같은 코드 원격 저장소를 통해 코드를 업로드하고,
이후 서버에 접속하여 소스 코드를 실행시킴.
→ 그러나, 한 서버에 여러개 서비스를 실행할 경우, 각 서비스는 독립적이지만, 같은 실행 환경을 공유하고 있기 때문에 부작용이 발생할 수 있음.
→ ‘코드를 실행하는 환경'과 ‘베포의 독립성'에 대한 이슈를 제기하게 됨.




2. VM 위에 배포


VM으로 리눅스 환경을 구축하여, 이 위에서 실행할 수 있음.
VM을 사용하여 테스트 환경과 똑같은 운영체제 환경을 구축 할 수 있음.





3. 컨테이너 기반 (Docker) 으로 배포


코드 개발

→ Dockerfile 을 작성
→ docker build 를 통해 Dockerfile 위에 이미지를 만듬 (=빌드)
→ DockerHub 와 같은 이미지 저장소에 이미지 업로드함.
→ 배포 서버에 접속하여, 업로드한 컨테이너 이미지를 다운받은 후, docker run { 컨테이너 이미지 이름 } (= 실행)
⇒ CI/CD : 이 작업을 자동화하자.


CI (Continous Integration) / CD (Continuous Deployment)

CI/CD에서 CD는 ‘배포', CI는 ‘테스트와 빌드'를 의미함.

즉, 코드 개발시, 자동으로 테스트하고, 테스트 통과 후 빌드함으로써 코드를 개발해나갈 때 지속적으로 문제없이 코드를 통합해 나가는 것을 의미함.


'Infra & Tools > CI & CD' 카테고리의 다른 글

가상화 기술과 도커  (0) 2022.06.02
모놀리스와 마이크로서비스  (0) 2022.06.02
CI & CD 에 대해 알아보자.  (0) 2020.07.26