MENU

Travis CI — OSS界の定番から凋落へ向かった老舗ホスティングCI

Travis CI アイキャッチ
Travis CI

Travis CIは、ドイツ・ベルリンを拠点に2011年にスヴェン・フックス、コンスタンティン・ハース、ヨシュア・コフマン、マティアス・マイヤーらが立ち上げた、世界初の本格的ホスティング型CIサービスの1つです。GitHubの公開リポジトリを無料でビルドし、.travis.yml を一枚置くだけでテストが回るシンプルさで、Ruby・Python・JavaScriptなどOSSコミュニティに爆発的に広がりました。2019年のIdera社買収後にビジネスモデル変更があり、GitHub Actionsの登場と相まって急速にシェアを失った、CI市場の盛衰を象徴する存在でもあります。

目次

この記事の目次

  1. .travis.ymlによる宣言的設定
  2. OSSの守護神からの凋落
  3. 定番だった使い方の数々
  4. 後継GitHub Actionsへの移行
  5. まとめ

.travis.ymlによる宣言的設定

.travis.ymlによる宣言的設定

Travis CIの設定はリポジトリ直下に置く .travis.yml ファイル1枚で完結します。language: script: before_install: などの代表的フィールドを並べるだけでビルドが走り、言語ごとに賢いデフォルトが用意されていたため、RubyやNode.jsのプロジェクトであればほぼ language: ruby の一行だけでテストが回り始める手軽さが特徴でした。

「ビルドマトリクス」機構は当時革新的で、rvm: [2.5, 2.6, 2.7] と書くだけで3つのRubyバージョンに対して並列にテストを実行できました。OSSプロジェクトの多版サポートを支える基盤として広く使われ、「Travisの緑バッジ」をREADMEに貼ることがOSSプロジェクトの品質指標として通用したほどです。デプロイ機構もHeroku・S3・GitHub Pages・RubyGemsなど多数のプロバイダを内蔵し、「テストが通ったら自動でデプロイ」をyml数行で実現できました。

OSSの守護神からの凋落

OSSの守護神からの凋落

創業者たちは元々RubyコミュニティのRails Conferenceで意気投合し、「公開リポジトリは永久無料」を掲げてオープンソースに資金的に貢献する姿勢でユーザーの心を掴みました。ピーク時にはGitHub上のRuby OSSの過半数がTravisを使っていたとされ、Rails・Sinatra・Sidekiqなど代表的プロジェクトの大半がREADMEにTravisバッジを掲げていました。2014年にはエンタープライズ向け有償サービスTravis CI Proも展開しました。

潮目が変わったのは2019年1月、米Idera社(Solarwinds系のPEファンド管理会社)に買収されてから。ベテランエンジニアの大量退職、無料枠の段階的縮小、公開リポジトリの無料枠廃止が続き、ユーザーの信頼が急速に崩れました。同時期に登場したGitHub Actionsへの大移動が起こり、2020年代に入る頃にはOSSプロジェクトの大半がActions・CircleCIへ移行。サービス自体は今も継続していますが、ビジネスモデル変更がコミュニティの離反を招いたCI業界の代表的事例として語り継がれています。

定番だった使い方の数々

定番だった使い方の数々

Travis CIで最も支持された用途は、OSSライブラリの多バージョン対応テストです。RubyGemsならRuby 2.5・2.6・2.7・3.0、Pythonライブラリなら3.7〜3.11というように、サポート対象の処理系バージョン全てに対して並列でテストを走らせる文化が定着しました。Coverallsなどカバレッジサービスとの連携機能も早期から備わっており、テスト網羅率の可視化がPR時の標準ワークフローとして広まりました。

また、Hugo・Jekyll・MkDocsで作った静的サイトをGitHub Pagesへ自動公開する用途や、リリースタグ作成と同時にgemをRubyGems.orgへpushする「自動リリース」スクリプトもTravis用のサンプルが多数共有されていました。READMEに [![Build Status](https://travis-ci.org/...)] の緑バッジを貼ることがOSSの常識となり、Travisの停止=READMEバッジ崩壊という事態が起こり、コミュニティのCIインフラ依存度の高さが改めて認識される転機になりました。

後継GitHub Actionsへの移行

後継GitHub Actionsへの移行

Travis CIが切り拓いた .travis.yml 型の宣言的設定、ビルドマトリクス、デプロイプロバイダ統合は、後発のあらゆるCIサービスに引き継がれました。CircleCI 2.0の .circleci/config.yml、GitHub Actionsの .github/workflows/*.yml、GitLab CIの .gitlab-ci.yml は全て、Travisが示した「リポジトリにyml一枚でCIが回る」モデルの直接の系譜にあります。

現在では新規プロジェクトでTravis CIを採用するケースはほぼなく、既存プロジェクトもActionsへの移行が大半完了しています。それでも歴史的観点からは、JenkinsからSaaS時代への扉を開いたCircleCIと並ぶパイオニアであり、「ホスティングCIの先駆者」「無料枠縮小によるユーザー離反の警告事例」として、SaaSビジネスモデル論やコミュニティ運営論で頻繁に引用される存在です。学習用としても、Travis-CI公式ドキュメントには定番パターンが多数残されており、CI概念の入門資料として今も読まれています。

まとめ

Travis CIは、ymlファイルでCIを書く文化を生み、OSSコミュニティに緑バッジ文化を根付かせた歴史的サービスです。買収後のビジネスモデル変更で凋落し主役の座をGitHub Actionsに譲りましたが、現代CIの基本概念の大半はTravisの発明であり、CI史を語る上で欠かせない名前です。

※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次