2013-12-12 17 views
39

used to be abledownload Vagrant boxesは、Travisビルドをデバッグするために使用します(例:GitHubプロジェクト用)。どうやらこれはもはや不可能なので、現在どのように複雑なTravisのビルドチェーンをローカルでデバッグするのですか?Travisのローカルビルドをデバッグするための現在のワークフローは何ですか?

+0

[リンク先の質問の回答](http://stackoverflow.com/a/17133843/1267663)、それは役に立ちませんか? – Whymarrh

+0

@Whymarrh:これはTravis CIチームの可用性に依存する一時的な "解決策"のようでした。多くの場合、カバレッジレポート+ドキュメンテーションのアップロードなどの自動機能を使用するTravisビルドをデバッグするにはいくつかのデバッグステップが必要なため、マシンにVMをインストールすると、ビルド自体が時間。 – BenC

+0

[Travis-Ciのデバッグ用ビルド環境を再現する方法](http://stackoverflow.com/questions/29753560/how-to-reproduce-a-travis-ci-build-environment-for-debugging)の可能な複製 – Flimzy

答えて

7

ビルドを検査する1つの方法は、ビルドログを失敗した場合に別のサーバーに送信することです(デバッグはしません)。ここで

は一例です:

after_failure 
    - sudo tar -czf /tmp/build-${TRAVIS_BUILD_NUMBER}-logs.tgz your-application-logs/ 
    - scp /tmp/build-${TRAVIS_BUILD_NUMBER}-logs.tgz [email protected]:~/logs 

ストレージサーバーまたは任意に保存する、電子メールを介してそれらを送信することができます。

これらのログは、テストをデバッグモードで実行し、独自のログをtarballに含めると便利です。

+6

私はすでにトラビスのログをチェックしていますが、これはビルド**リモートから**デバッグする方法ですが、ビルドの修正は複雑なエラーのために盲目的にコミットし、Travisサーバーを待っています。これは複雑なビルドチェーンには理想的ではないので、**ローカル**デバッグの可能性に関する私の質問です。 – BenC

+0

解決策を見つけるのではなく、問題を減らすことができます。ビルド時間を最小限に抑え、ステップを構築してください(プロジェクトを別々のTravisビルドで別々のレポジスに分割できます)。 Travisの環境と非常によく似た開発環境を用意してください。 –

+0

これは、Travisシステムを備えた仮想マシンを使用することが、ビルドをローカルでデバッグするのに適している理由です。これは可能でしたが、別のVM(VirtualBoxなど)で正確なシステムを複製する準備ができていない限り、これ以上は使用できませんでした。 – BenC

6

現時点では、travis-ciビルドをローカルでテストするための良いソリューションはありません。私がお勧めできる最も近いのは、Ubuntu 12.04 Vagrant VMで、Travis chef cookbooksをhereから提供することです。これは、テストの失敗がトラビスソフトウェアからのものではない場合がほとんどであるため、ほとんどのユースケースを解決します(トラビスソフトウェアは他のトラビスソフトウェアに依存しているため、ルービーとルビーの宝石のようなソフトウェアと下位のOS(Ubuntu)からのものです。

2

私はJVM用のドッカーファイルを作成する際に亀裂がありました。私にとってはうまくいくhereビルドです。これは、containersで公開されているトラビスに基づいており、ドッカーコンテナ内で.travis.ymlファイルを実行できるように、Travis CLIおよびTravis Buildプロジェクトを利用しています。

ビルドされたJVMイメージはdocker hubです。

関連する問題