Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 2.33 KB

Deploy.md

File metadata and controls

45 lines (32 loc) · 2.33 KB

Deploy

빌드

  • 불필요한 데이터를 없애고, 여러 갈래로 퍼져있는 데이터들을 통합/압축하여 배포하기에 최적화된 상태를 만드는 것
  • 빌드 과정을 진행하기 전과 비교했을 때 데이터의 용량이 줄어들고, 웹 사이트의 로딩 속도가 빨라진다는 장점이 있음
  • 일반적인 의미의 빌드는, 소스코드를 실행 가능한 번들로 변환하는 컴파일 과정을 의미
  • 웹 앱에서와 같이 HTML, CSS, JS의 형태로 배포하는 경우는 조금 다르며, 웹 앱은 배포 가능한 정적 파일(static files)의 형태로 만들어 주어야 함.

배포

  • 개발한 서비스를 사용자들이 이용 가능하게 하는 일련의 과정
  • 배포에서는 환경의 차이를 이해하고 환경 설정을 코드와 분리하는 것이 중요

배포의 4단계

  • Development

    • 각자의 컴퓨터에서 코드를 작성하고 테스트하는 과정
    • 개발 단계이기 때문에 실제 데이터를 이용하지 않고 더미 데이터를 이용해서 테스트
  • Integration

    • 각자의 컴퓨터에서 작성한 코드를 합치는 과정
    • 내가 작성한 코드가 다른 코드를 침범해서 오류를 일으키지 않는지, 코드 간에 conflict 여부 확인
  • Staging

    • 실제 출시 단계인 Production 단계와 가장 유사한 환경에서 테스트를 진행
    • 실제 데이터를 복사해 문제가 있지 않은지 등 다양한 환경에서 테스트를 진행
    • 서비스와 관련된 부서 혹은 인원의 확인 과정을 거치기도 함.
  • Production

    • 개발된 서비스를 출시하는 단계
    • 사용자가 접속할 수 있는 Production 환경에서 코드를 구동하고 서비스를 제공
    • 실제 데이터를 가지고 서비스가 운영되기 때문에 문제가 생기면 안 되는 단계

작성한 코드가 다른 환경에서 정상 작동 하게 하려면?

  • 절대 경로 대신 상대 경로를 사용
  • 환경에 따라 포트를 분기할 수 있도록 환경변수(env) 설정
    • 환경 변수는 코드 변경 없이 배포 때마다 쉽게 변경할 수 있음.
    • 설정 파일과 달리, 잘못해서 코드 저장소에 올라갈 가능성도 낮음.
  • Docker와 같은 개발 환경 자체를 통일시키는 솔루션 사용