NeuroWhAI의 잡블로그

Tavis로 Rust 프로젝트 빌드하고 뱃지 달기 본문

자료

Tavis로 Rust 프로젝트 빌드하고 뱃지 달기

NeuroWhAI 2018. 1. 9. 18:30


Travis지속적 통합(CI)를 가능하게 해주는 빌드/테스트 자동화 시스템 입니다.
자신의 GitHub 레포를 등록하고 레포에 커밋이 발생하면 자동으로 빌드와 테스트를 수행해줍니다.
그리고 이런 뱃지도 제공해주죠.


이 글에서는 공식 문서를 참조하여 Travis에 Rust 프로젝트를 등록하고, 자동으로 빌드하게하고, 빌드 결과를 뱃지로 달아볼겁니다.
매우 간단합니다.

당연하지만 Travis에 가입해야겠죠.
GitHub 계정으로 바로 로그인하시면 됩니다.

그럼 몇개의 권한을 달라고할테고 승인해주시면 자동으로 동기화가 됩니다.

다음은 Travis가 보여주는 자신의 레포 목록에서 등록을 원하는 레포를 체크해주시면 됩니다.

그리고 이제 Rust 프로젝트의 최상위 디렉토리에 ".travis.yml" 파일을 만들고 아래와 같이 씁니다.

language: rust
rust:
  - stable
  - beta
  - nightly
matrix:
  allow_failures:
  - rust: nightly

YAML이라는 포맷입니다.

직관적이지만 설명을 해보자면
language: 로 어떤 언어 환경을 쓸건지 적을 수 있고
rust: 로 어떤 컴파일러 버전을 쓸건지 선택할 수 있습니다.

rust:
  - 1.0.0
  - 1.1.0

이렇게 직접 버전을 지정하는것도 가능합니다.

그런데 보시면 여러 버전을 지정할 수 있습니다.
Travis같은 시스템을 쓰는 이유 중 하나죠.
Travis는 Build Matrix라는 기능을 제공해서 프로젝트를 여러 환경에서 빌드/테스트 해줍니다.

cache: cargo

그리고 이걸 적으시면 의존성을 가지는 라이브러리들을 매 빌드마다 다시 컴파일하지 않고 재사용해서 빌드 속도가 빨라집니다.

아무튼 원하시는대로 .travis.yml 파일을 기술하고 나서
commit하고 처음에 등록했던 레포로 push하면 빌드가 시작됩니다.
그리고 조금 기다리면

짠! 빌드가 성공했네요. (실패하시면 뭐...)
아무튼 이런 빌드 결과를 이메일이나 다른 수단으로 알림을 받는것도 가능한데 그건 나중에...

그리고 뱃지를 달아야죠 이제.
위 사진의 우상단을 보시면 뱃지가 보이실텐데 저걸 클릭하시면


이 창이 뜨고 원하시는 설정을 선택하시면 (이 경우에는 Markdown을 선택하세요.)

[![Build Status](https://travis-ci.org/NeuroWhAI/EchoServer-Tokio.svg?branch=master)](https://travis-ci.org/NeuroWhAI/EchoServer-Tokio)

대충 이런 코드를 받을 수 있습니다.
이걸 레포의 Readme.md 파일의 원하시는 곳에 삽입하시면 뱃지가 나오게됩니다!
이 뱃지는 최신 빌드결과를 실시간으로 보여주므로 다른 사람들이 이 레포를 이해하는데 도움을 줍니다.

그럼 이만!


Comments