ジェンキンス対トラビスCI。オープンソースプロジェクトにはどちらを使用しますか?[閉まっている]


270

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

オープンソースプロジェクトにはどちらを使用しますか?両方の主な利点または利点は何ですか?

回答:


293

Travis-ciとJenkinsですが、どちらも継続的な統合のためのツールですが、非常に異なります。

Travisはホストされたサービス(オープンソースの場合は無料)ですが、Jenkinsをホスト、インストール、構成する必要があります。

トラビスはジェンキンスのように仕事を持っていません。コードをテストするために実行するコマンドは.travis.yml、プロジェクトコードに付随するという名前のファイルから取得されます。これにより、各ブランチが独自のバージョンの.travis.ymlファイルを持つことができるため、ブランチごとに異なるテストコードを簡単に作成できます。

次のプラグインのいずれかを使用すると、Jenkinsで同様の機能を使用できます。

  • Travis YMLプラグイン -警告:一般的ではないようです。実際のTravisと比較すると、機能が完全ではない可能性があります。
  • Jervis-.jervis.ymlプロジェクトコードのルートにあるファイルから作成ジョブを読み取れるようにするJenkinsの変更。.jervis.yml存在しない場合は、.travis.yml代わりにファイルの使用にフォールバックします。

継続的インテグレーションについて検討する可能性のある他のホスティングサービスもあります(完全なリストではありません)。


選び方は?

Jenkinsに精通しているため、または継続的インテグレーションシステムをサードパーティに依存したくないので、Jenkinsを使い続けることをお勧めします。それ以外の場合は、Jenkinsを削除し、無料のホストされたCIサービスの1つを使用して、多くの問題(ホスト、インストール、構成、ジョブの準備)を節約します。

コードリポジトリがホストされている場所に応じて、次の選択を行います。

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

githubプロジェクトでTravis-CIをセットアップするために必要なことは、次のとおりです。

  • プロジェクトのルートに.travis.ymlファイルを追加する
  • travis-ci.comでアカウントを作成し、プロジェクトをアクティブ化します

入手できる機能は次のとおりです。

  • Travisはリポで行われるすべてのプッシュに対してテストを実行します
  • Travisは、貢献者が行うすべてのプルリクエストでテストを実行します

25
私の経験では、TravisでJenkinsを使用すると、トラブルも大幅に.travis.yml軽減されます(!)自分のJenkinsを実行しているgithubプロジェクトがいくつかありますが、そのことを少し後悔していません。独自のJenkinsを実行できる場合は、そのオプションを強くお勧めします。CI環境を100%制御できると便利です。
Simon Forsberg、2016

21
Jenkins Pipelineプラグイン(ほとんどの状況でフリースタイルのプロジェクトを置き換えることを目的としています)では、パイプラインのGroovyスクリプトをプロジェクト内のファイル(通常は「Jenkinsfile」という名前)に配置して、上記のTravis-CI、およびJenkinsチームによるサポートの追加ボーナス。
KhainTCore

48

TravisとJenkinsの両方に取り組みました。両方の機能のいくつかをリストアップします。

プロジェクトのCIをセットアップする

トラビスが最初に来る。セットアップはとても簡単です。GitHubでのセットアップには1分もかかりません。

  1. GitHubにログイン
  2. TravisのWebフックを作成(編集:
  3. Travisに戻り、GitHub認証情報でログインします
  4. GitHubリポジトリを同期し、プッシュおよびプルリクエストを有効にします。

ジェンキンス:

  1. 環境を作成する(マスタージェンキンス)
  2. Webフックを作成する
  3. 各ジョブを構成します(Travisと比較して時間がかかります)

ビルドを再実行する

Travis: GitHubへの書き込みアクセス権を持つユーザーは、「ビルドを再開」をクリックしてビルドを再実行できます

ジェンキンス:フレーズに基づいてビルドを再実行します。のように、PR /コミットの説明にフレーズテキストを提供しますreverify jenkins

制御環境

Travis: Travisはホスト環境を提供します。ビルドごとに必要なソフトウェアをインストールします。時間のかかるプロセスです。

Jenkins:ワンタイムセットアップ。必要なすべてのソフトウェアをノード/スレーブマシンにインストールし、プリインストールされた環境でビルド/テストします。

ビルドログ:

Travis: Amazon S3に配置するビルドログをサポートします。

Jenkins:ビルドアーティファクトプラグインで簡単にセットアップできます。


S3とは何ですか?
Pooja


30

オープンソースプロジェクトのTravisをお勧めします。設定と使用は簡単です。

セットアップの簡単な手順:

  1. GITHUBアカウントがあり、GITHUBアカウントを使用してTravis CI Webサイトに登録する必要があります。
  2. .travis.ymlプロジェクトのルートにファイルを追加します。リポジトリ設定ページでTravisをサービスとして追加します。

これで、リポジトリにコミットするたびにTravisがプロジェクトをビルドします。簡単な手順に従って、Travis CIを開始できます。


7
Travis CIをオープンソースに使用する場合の注意:Windowsではなく、LinuxまたはOSXでビルドとテストを実行します。したがって、プロジェクトが.NETまたはPowerShellである場合、Travis CIを使用できるようにするには、クロスプラットフォームバージョンの.NET(Monoまたは.NET Core)またはPowerShell(PowerShell Core)で作成する必要があります。 。複数のWindows優しいホストされたCIツールですAppveyor ...
サイモンTewsi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.