265
7
장
빌드
또한 운영 환경과 유사한 환경을 구축하기가 어려우므로 더 많은 사람이 스모크 테스트
smoke
testing
와 병렬 실행 같은 기술을 포함한 테스트 형태를 운영 환경에서 수행한다. 이 주제는
8
장
에서 다시 다룬다.
7.2.37.2.3
산출물 생성 산출물 생성
마이크로서비스를 서로 다른 환경으로 이동시키므로, 실제로 배포할 것이 있어야 한다. 사용
가능한 배포 산출물 유형에는 다양한 선택지가 있으며, 일반적으로 어떤 산출물을 생성할지는
채택된 배포 기술에 크게 좌우된다. 다음 장에서 자세히 살펴보겠지만, 이 절에서는 산출물 생
성을 어떻게
CI
/
CD
빌드 프로세스에 적용하는지와 관련해 몇 가지 중요한 정보를 제공하려
한다.
작업을 단순화하기 위해 우리가 만들고 있는 산출물 유형과 똑같은 것은 피하고 당분간 산출물
을 배포 가능한 단일 블랍
blob
으로 생각하자. 이제 고려해야 할 두 가지 중요한 규칙이 있다. 첫
째, 앞서 언급했듯이 산출물은 한 번만 빌드해야 한다. 같은 것을 반복해서 빌드하면 시간 낭비
일 뿐 아니라 지구에도 좋지 않으며, 매번 빌드 구성이 정확히 동일하지 않으면 이론적으로 문
제를 일으킬 수 있다. 일부 프로그래밍 언어에서는 빌드 플래그가 다르면 소프트웨어 동작이
완전히 달라질 수 있다. 둘째, 검증할 산출물이 배포할 산출물이어야 한다! 마이크로서비스를
빌드하고 테스트해 정상 동작을 확인한 다음 운영 환경에 배포하려고 다시 빌드한다면 검증한
소프트웨어와 배포한 소프트웨어가 동일한지 어떻게 알 수 있을까? ...