Help us understand the problem. What is going on with this article?

ド素人のための Travis CI の使い方 (公式ガイドより)

More than 1 year has passed since last update.

Travis CI for Complete Beginners - Travis CI より

動作確認用のレポジトリをForkする

https://github.com/plaindocs/travis-broken-example で Fork ボタンを押すだけ

( * Forkは好きなレポジトリを自分のレポジトリとして、まるまるコピー出来る機能)

ForkしたレポジトリをCloneする

手元に持ってくる

$ git clone git@github.com:YOUR_USER_NAME/travis-broken-example.git
$ cd travis-broken-example

Travisの設定ファイルを見てみる

何やらいろいろ書かれているが、複数の php バージョンでテストしようとしてるのが分かる。
hhvm というのも php 環境のひとつらしい。

.travis.yml
language: php # テスト言語
php:
- 5.5 # 環境その1
- 5.4 # 環境その2
- hhvm # 環境その3
script: phpunit Test.php # この処理がCIとして走る

テストスクリプトを確認

あえて失敗するテストが書かれている。

1+1=1 を期待しているテストなので、失敗するのが正しい状態。

Test.php
<?php
class Test extends PHPUnit_Framework_TestCase
{
    public function testOnePlusOne() {
        $this->assertEquals(1+1,1);
    }
}
?>

Travis CI に登録する

https://travis-ci.org/ より。

Travis でレポジトリを有効化する

image.png

ブランチが表示されない場合

「Sync account」を試す。

image.png

適当なコミットを作ってプッシュする

$ git add -A
$ git commit -m 'Testing Travis CI'
$ git push

テストが回り始める

複数のPHP環境で、それぞれテストが動くのが分かる。

image.png

やがてテストが落ちる

これも期待通りの動作。

image.png

テストファイルを修正する

1+1=2 にする。

( 1+1 って 2 ですよね? 皆さん! )

Test.php
<?php

class Test extends PHPUnit_Framework_TestCase
{
    public function testOnePlusOne() {
-       $this->assertEquals(1+1,1);
+       $this->assertEquals(1+1,2);
    }
}

?>

git push する

新しいテストが回り、今度は成功する

image.png

やったぜ!

バッジを付けてみる

ちょっと分かりにくいが、Travis CI に表示されている「バッジボタン」を押すと埋め込みコードを取得できる。

画面に見えてるこいつ => image.png

形式は Markdownを選ぶ。

これを Github のREADMEなどに貼り付ければ良い。
(お試しにIssueやWikiに貼っても良いと思う)

image.png

Github の README に埋め込みコードを追加

image.png

表示例

このバッジでCIが通っているか、落ちているかを確認できるようになる。

image.png

YumaInaura
Ruby on Rails 業務経験 約5年 / Perl PHP Python Golang Linux Apache MySQL BigQuery Jenkins ansible AWS など / いなうらゆうま / YumaInaura / 稲浦悠馬
http://twitter.com/yumainaura
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした