linuxBean14.04(167)Travis CIでビルドできるように.travis.ymlを編集

2017-04-29

旧ブログ

t f B! P L
syntaxhighlighterとかpython-patternsのGitHubリポジトリに含まれている.travis.ymlについて調べました。前回やったnoseはその過程の一つです。

前の関連記事:linuxBean14.04(166)noseでテストをする


.travis.ymlはTravis CI用の設定ファイル


Travis CI 入門:GitHub + Travis CI で継続的インテグレーション « をぶろぐ

Travis CIについてはこの記事を読んでなんとなくわかりました。

前回自分のGitHubアカウントにforkしたpython-patternsで.travis.ymlを使ってみます。

まずValidate your .travis.yml fileで.travis.ymlが正しいかをチェックします。



右側の枠に.travis.ymlの中身をコピペしてValidateボタンをクリックしたらHooray, your .travis.yml seems to be solid!とでました。

これはファイルの書式としては問題ないということのようです。

左のEnter Github repositoryの枠はどうやって使うのかよくわかりませんでした。

CloneするときのURLとか.travis.ymlへのURLを入れてみましたが、ValidateボタンをクリックしてもそのURLへ移動するだけでした。

Travis CI に.travis.ymlでビルドさせる


Travis CI - Test and Deploy Your Code with Confidenceの右上にあるSign in with GitHubボタンをクリック、Authorize Travis CIボタンをクリック。

GitHubアカウントのパスワードを聞かれるので(ログインIDはどうしてわかる?)入力するとTravis CIにログインできました。

 右上にでているGitHubアカウント名をクリックしてでてくるAccountsをクリック。

GitHubの公開リポジトリ一覧がでてくるので、Travis CIと接続したいリポジトリの左にあるボタンをクリックしてxからレに変更します。

linuxBean14.04(165)faif/python-patternsでデザインパターンの学習でフォークしたpython-patternsのGitリポジトリをレにしました。

レにしたリポジトリ名をクリックすると詳細が見れますが、何かをプッシュするまではNo Builds for this repositoryという表示されているだけです。

とりあえずGitHub上でREADME.mdを編集するとTravis CIが動き出しました。

一回Travis CIに読み込まれるとあとはTravis CIの画面からビルドできるようになります。

.travis.ymlが実行されて、Travis CIの画面で結果が表示されます。


Build JobsのPythonのバージョンをクリックするとJob logで出力結果が見れて、View configで実行した.travis.ymlの内容が見れます。

.travis.ymlで指定したPythonのバージョンが一つだけの時は最初からJob logが表示されます。


Branchesタブをクリックすると各ブランチのビルド結果が表示されます。

このタブは複数のブランチがあるときは各ブランチのビルド結果がわかって便利です。

ビルドするたびにGitHubアカウントに登録しているメールアドレスに結果が届きます。

.travis.ymlを編集する


linuxBean14.04(165)faif/python-patternsでデザインパターンの学習で作成したsrcフォルダにソースを移動させたEclipseプロジェクトをGitHubにアップロードしてTravis CIでビルドするようにします。


GitFlowにしてfeature/201704291001ブランチがsrcフォルダにソースを移動させたリポジトリですが、それだけビルドに失敗していることがわかります。

ビルドが成功するように、feature/201704291001ブランチの.travis.ymlを編集します。

.travis.ymlはGitHubリポジトリの最上層のフォルダに入れとかないといけないので、今回作成したEclipseプロジェクトの外にあるので、Eclipseでは編集できず、Leafpadで編集します。
# travis-ci.org definition for python-patterns build
language: python

sudo: false

python:
  - "3.5"
  - "3.6"

cache:
  - pip

install:
  - travis_retry pip install -q coveralls codecov

script:
  - cd python-patterns/src
  # Run tests
  - nosetests --with-doctest --with-cov  --cover-erase --cover-branches --cover-package .

after_success:
  - coveralls
  - codecov
PythonのバージョンはLibreOfficeのバンドルPythonの3.5とAnacondaの3.6のみにしました。

coverallsとcodecovはまだよくわからないので、そのまま残しています。

nosetestsのオプションはlinuxBean14.04(166)noseでテストをするで検討した分岐網羅率を出力する方法にしました。

nosetestsを実行する前にカレントディレクトリをsrcディレクトリに変更しています。

run_all.shはcoverage.pyを実行するものですが、--with-covで同じことをしているので削除しました。

coveralls.ioを利用する


Coveralls - Test Coverage History & Statistics

このGET STARTED FOR FREEボタンをクリックします。

GITHUB SIGN UPをクリック。

Authorize applicationをクリック。

GitHubのパスワードを入力します。


左にマウスをもってくると出現するメニューからADD REPOSをクリックします。

GitHubリポジトリが一覧がでてくるので、Travis CIと同様にしてpython-patternsリポジトリをONにしました。

Travis CIと同様に無料プランで利用できるのは公開リポジトリに対してだけです。

右下のSYNC REPOSボタンをクリックしたら結果が見れると思いましたが、そうはいかず、Travis CIでビルドし直すとcoverallsにも結果が表示されました。


ファイル名をクリックするとソースが取得できないと言われます。

subdirectoryの項目にpython-patterns/srcを入力するとソースが色分けして表示されました。

色分けの意味はまだよく理解できていません。

一度設定すると他のファイルも同様に設定されてソースを見ることができましたが、subdiretoryの設定を変更する方法はわかりませんでした。

codecov.ioを利用する


Codecov

ここのSing up with GitHubをクリック。

Authorize applicationをクリック。

今度はGitHubのパスワードすら聞かれませんでしが、きっとFirefoxの自動入力機能が働いているのだと思います。


GitHubのアカウント名をクリックすると、Add new repositoryボタンがでてくるのでそれをクリックします。

python-patternsリポジトリを選択しました。

これもまたTravis CIでcodecovを実行するためにTravis CIでリポジトリをリビルドする必要があります。

これでcodecov.ioに網羅率が表示されるようになりました。

coveralls.ioと違ってサブディレクトリの設定は不要でした。

Travis CIもcoverall.ioもcodecov.ioもGitHubにバッチを貼れるのですが、ブランチごとに設定が必要のようなので、やめました。

参考にしたサイト


GitHub - syntaxhighlighter/syntaxhighlighter: SyntaxHighlighter is a fully functional self-contained code syntax highlighter developed in JavaScript.
.travis.ymlがありますが、テストを実行しているのかよくわかりませんでした。

GitHub - faif/python-patterns: A collection of design patterns/idioms in Python
今回この.travis.ymlを編集しました。

Travis CI 入門:GitHub + Travis CI で継続的インテグレーション « をぶろぐ
Travis CIの解説。

Validate your .travis.yml file
.travis.ymlの書式をチェックしてくれます。

Travis CI - Test and Deploy Your Code with Confidence
.travis.ymlを読み込んでテストを実行してくれます。

Coveralls - Test Coverage History & Statistics
網羅率を表示するツール。

Codecov
網羅率を表示するツール。

次の関連の記事:linuxBean14.04(168)NetBeans8.0.2でJavaソースコードからUML図を出力する

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ