Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
87
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@YumaInaura

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

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

87
Help us understand the problem. What is going on with this article?
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
87
Help us understand the problem. What is going on with this article?