
304
이펙티브 러스트
아이템
32
:
CI
시스템을 설정하라
CI
continuous
integration
시스템은 코드베이스에 대해 도구를 자동으로 실행하는 메커니즘으로서, 코
드베이스에 변경 사항이 발생할 때마다 구동된다.
CI
시스템을 설정하라
는 조언은 러스트에만 국한된 것이 아니다. 따라서 이번 아이템은 다른 언
어에도 적용할 수 있는 일반적인 조언과 추천하는 러스트 전용 도구를 소개한다.
CI
단계
CI
시스템을 구성하는 단계부터 살펴보자. 가장 첫 단계는 당연히 다음과 같다.
●
코드를 빌드한다.
●
코드에 대한 테스트를 실행한다.
CI
단계는 주어진 케이스에 대해 깔끔하고, 빠르고, 일정하고, 오탐 없이 실행되어야 한다. 여
기에 대한 자세한 사항은 다음 절에서 설명한다.
일정하게
deterministic
실행하려면
rust
-
toolchain
.
toml
을 사용해
CI
빌드에 고정된 버전의 툴체
인을 지정하라
는 빌드 단계의 조언을 적용한다.
이러한
rust
-
toolchain
.
toml
파일은 코드 빌드에 사용할 버전을 지정한다.
1
.
70
과 같이 버
전을 지정할 수도 있고, 채널 (
stable
,
beta
,
nightly
등)에 필요하다면 날짜를 붙여서 지정
할 수도 있다 (예:
nightly
-
2023
-
09
-
19
).
12
여기서 유동적인 채널 값
floating
channel ...