Deploy - Deploy

Verba volant, scripta manent·2021년 4월 20일
0

Deployment란?

한국말로 번역하면 배포.
개발한 서비스를 사용자가 이용가능하게 하는 과정을 뜻한다.

기본적으로 Development, Intergration, Staging, Production 이라는 4단계를 거쳐서 개발한 서비스를 배포하게 된다.

Deployment의 단계

1. Development

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

특징)
1 . Local 컴퓨터 환경에서 개발 및 테스트
2 . Sample Data를 이용
3 . 변경사항이 있어도 문제X
4 . 모든 구성원이 각자의 환경에서 진행

2. Intergration

각자의 컴퓨터에서 작성한 코드를 합치는 과정으로, 내가 작성한 코드가 다른 코드를 침범해서 오류를 일으키지 않는지, 코드간에 충돌이 있지는 않는지를 확인하는 과정을 거친다.

특징)
1 . 각자의 환경에서 개발된 부분을 취합
2 . 코드간 충돌이 없는지 확인하는 단계
3 . 작성한 코드가 다른 코드에 문제를 발생시키지 않는지 확인

3. Staging

실제 출시단계인 Production단계와 가장 유사한 환경에서 테스트 진행
실제 데이터를 복사해서 문제가 있지 않은지 등 다양한 환경에서 테스트를 진행하며 또한 서비스와 관련된 부서 혹은 인원의 확인 과정을 거친다.
ex) 작성된 코드가 어떤 팀이 예상했던 결과인가? 를 확인

특징)
1 . Production 단계와 가장 유사한 환경에서 테스트
2 . 복제된 실제 데이터를 이용해서 테스트
3 . 모든 관계자들에게 검증 하는 단계

4. Production

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

특징)
1 . 개발환경과는 구분 된 환경
2 . 실제 데이터를 이용
3 . 실제로 서비스가 제공되는 단계

배포에서 중요한 점

환경의 차이를 이해하고 환경 설정을 코드와 분리한다!!!!

작성한 코드가 다른 환경에서 정상적으로 작동할 수 있게 하는 방법

1. 절대경로 대신 상대경로를 사용한다.

2. 환경에 따라 포트를 분기할 수 있도록 환경변수를 설정해준다.

3. Docker와 같은 개발 환경 자체를 통일시키는 솔루션을 사용한다.

profile
말은 사라지지만 기록은 남는다

0개의 댓글