Dart의 Travis CI Windows 지원 발표

Dart의 Travis CI Windows 지원 발표

오늘 발표할 소식은 Travis CI가 Windows에서 Dart SDK를 지원한다는 거예요. Travis CI는 GitHub 저장소를 위한 CI(지속적 통합) 서비스인데요, 최근 Windows 운영체제에 대한 조기 릴리스 지원을 발표했었죠. 이제 Travis CI에서 Linux, macOS, Windows, 이렇게 세 가지 주요 데스크톱 운영체제에서 모두 Dart 빌드와 테스트 작업을 실행할 수 있답니다.

출처: Announcing Windows support for Dart on Travis CI

본문

여러 운영체제에서 실행되도록 Travis CI 작업 설정하기

이미 Travis CI로 Dart 코드를 빌드하거나 테스트하고 있다면, 세 운영체제 모두에서 작업을 실행하는 건 아주 쉬워요. 저장소의 .travis.yml 파일에 있는 os: 섹션을 추가하거나 확장해 주면 돼요.

os:
- linux
- osx
- windows

그러면 Travis CI가 실행될 때마다 각 테스트 구성이 활성화된 각 운영체제에서 실행되는 항목이 보여요. Windows를 테스트 매트릭스에 추가한 뒤의 grpc-dart 저장소 예시도 확인해 볼 수 있죠.

다만 Travis CI의 Windows 지원이 아직 조기 릴리스 단계라서, 작업에 Windows를 추가하기 전에 알려진 문제(known issues)를 미리 확인해 보시길 권장해요.

프로젝트에 Travis CI 테스트 지원 추가하기

아직 Travis CI로 Dart를 테스트하고 있지 않다면 시작하는 것도 정말 간단해요. 가장 최소한의 .travis.yml 파일은 단 한 줄이면 충분해요.

language: dart

이 구성은 pub run test와 동일한 역할을 해요. 추가 작업이 필요하면 dart_task: 태그 아래에 나열해 주세요. 정적 분석이나 코드 포맷 검사 같은 것들이 여기에 해당돼요(자세한 내용은 Travis 문서를 참고하세요).

정적 분석은 코드에서 분석 오류가 있는지 검사해 주는데, 이렇게 실행해요.

language: dart
dart_task:
- dartanalyzer

모든 Dart 파일이 올바르게 포맷되었는지 확인하려면 이렇게 하면 돼요.

language: dart
dart_task:
- dartfmt

여러 개의 Dart 패키지가 들어 있는 더 복잡한 저장소라면 조금 더 상세한 설정이 필요해요. mono_repo 도구의 travis 명령어가 이런 설정을 만들어 주는 방법 중 하나랍니다.

Travis CI의 대안

Travis CI는 널리 쓰이는 CI 제공자 중 하나일 뿐이에요. Dart SDK를 지원하는 다른 서비스로는 AppVeyor(샘플)와 Codeship이 있어요. Flutter 앱이라면 NeverCode, CirrusCI, Bitrise 같은 옵션도 있죠.

이번 Dart CI 지원으로 더 편리해졌길 바라요!

더 알아보기

  • Travis CI에서 더 다양한 설정 알아보기
  • Dart 프로젝트를 위한 CI/CD 구성 전반에 대해 더 알고 싶다면 dart.dev 문서를 살펴보세요