1. ホーム
  2. ジェンキンス

[解決済み】JenkinsとTravis-CI。オープンソースプロジェクトに使うならどっち?[という質問をいただきました。]

2022-04-01 08:02:39

質問

私のプロジェクトでは、JenkinsとTravis-CIのどちらかを選択する必要があります。私は何年もJenkinsを使用してきましたが、Travis-CIについても良い評価を読んでいます。

オープンソースのプロジェクトにどちらを使いますか?また、両者の主な利点や長所は何ですか?

解決方法は?

Travis-ciとJenkinsは、どちらも継続的インテグレーションのためのツールですが、全く異なるものです。

Travisはホスティングサービス(オープンソースのため無料)であるのに対し、Jenkinsはホスティング、インストール、設定が必要です。

Travisには ジョブ Jenkinsのように コードをテストするために実行するコマンドは、以下のファイルから取得します。 .travis.yml プロジェクトコードに沿った形で配置されます。これは、各ブランチが独自のバージョンの .travis.yml ファイルを持つことができるので、ブランチごとに異なるテストコードを持つことが簡単にできます。

以下のプラグインを使用すれば、Jenkinsで同様の機能を実現できます。

  • Travis YML プラグイン - 警告:人気がないようです。本物のTravisと比較すると、おそらく機能が完全ではないでしょう。
  • ジャービス - からのジョブ作成を読み込むためのJenkinsの改造。 .jervis.yml というファイルがプロジェクトコードのルートにあります。もし .jervis.yml が存在しない場合は .travis.yml ファイルを使用します。

継続的インテグレーションのために検討すべき他のホスティングサービスもあります(完全なリストではありません)。


どのように選ぶのか?

Jenkinsに慣れている、あるいは継続的インテグレーションシステムをサードパーティに依存したくないという理由で、Jenkinsを使い続けたいと思うかもしれません。 そうでなければ、私はJenkinsをやめて、無料のホスティングされたCIサービスを利用します。なぜなら、彼らは多くのトラブル(ホスト、インストール、設定、ジョブの準備)を避けることができるからです。

あなたのコードリポジトリがどこでホストされているかによって、私は以下の選択をします。

  • 社内 → Jenkinsまたはgitlab-ci
  • Github.com → Travis-CI

githubのプロジェクトにTravis-CIを設定するには、以下のようにすればよい。

  • を追加します。 .travis.yml ファイルをプロジェクトのルートに作成します。
  • travis-ci.comでアカウントを作成し、プロジェクトをアクティベートしてください。

得られる機能は

  • Travis は、あなたのレポにプッシュされるたびにテストを実行します。
  • Travis は、貢献者が作成するすべてのプルリクエストに対してテストを実行します。