Travisとはgithubと連携したオープンなCI(Continuous Integration)ホスティングサービスです
JenkinsのようなCIサーバを独自で構築する必要がなくなるというのがメリットです
Githubのアカウントが必須となりますのでお持ちでない方はまずはGithubのアカウントを作成してください
JenkinsのようなCIサーバを独自で構築する必要がなくなるというのがメリットです
Githubのアカウントが必須となりますのでお持ちでない方はまずはGithubのアカウントを作成してください
■使い方
1. Travisへのログイン
2. WebHook機能のON
3. .travis.ymlファイルの作成
4. git push
今回紹介する内容は以上です
基本中の基本の部分だけなのであとはビルドの内容をどうするかをもっと詳細に決めていく必要があります
■Tips
■参考サイト
https://travis-ci.org/
にアクセスします
右上の「Sign in with Github」をクリックします
※クリックすると拡大されます
GithubのOAuthのページにリダイレクトされるのでTravisからのアクセスを許可します
にアクセスします
右上の「Sign in with Github」をクリックします
※クリックすると拡大されます
GithubのOAuthのページにリダイレクトされるのでTravisからのアクセスを許可します
2. WebHook機能のON
初回ログイン時にはTravisがGithubからリポジトリの情報を取得するため多少時間がかかります
リポジトリの情報の取得が完了すると以下のようなリポジトリ一覧が表示されるかと思います
Travisと連携したい自分のリポジトリを選択し右側のON/OFFトグルボタンをONにします
これでGithubとTravisとのWebHookによる連携が完了しました、WebHook機能を使うことでGithubにpushされた情報をTravis側に通知してあげることができます、それによりpushをトリガーとしてTravisが自動実行されるようになります
リポジトリの情報の取得が完了すると以下のようなリポジトリ一覧が表示されるかと思います
Travisと連携したい自分のリポジトリを選択し右側のON/OFFトグルボタンをONにします
これでGithubとTravisとのWebHookによる連携が完了しました、WebHook機能を使うことでGithubにpushされた情報をTravis側に通知してあげることができます、それによりpushをトリガーとしてTravisが自動実行されるようになります
3. .travis.ymlファイルの作成
Travisと連携したリポジトリのルート直下に「.travis.yml」ファイルを作成します
.travis.ymlファイルはTravis上で実行するビルドのルールを記載するものです
今回はJavaのリポジトリをTravisでビルドさせるために以下のように.travis.ymlファイルを記載しました
また、そこから各言語ごとの詳細な設定方法のページへもリンクしているので詳細はそちらを御覧ください
今回設定したのサンプル通りですが、見ての通りJDKを複数バージョン指定することができます
Travisは指定したバージョン分ビルドを実行してくれるため所謂、クロスプラットフォーム分散ビルド的なこともTravis上で実現することが可能となっています
(いちいち各バージョンごとのビルド環境を構築するのって大変ですからね。。。)
.travis.ymlファイルはTravis上で実行するビルドのルールを記載するものです
今回はJavaのリポジトリをTravisでビルドさせるために以下のように.travis.ymlファイルを記載しました
language: Java jdk: - oraclejdk7 - openjdk6 - openjdk7.travis.ymlの書き方は参考サイトに記載されているGetting Startedのページに各言語ごとの簡単なサンプルが記載されています
また、そこから各言語ごとの詳細な設定方法のページへもリンクしているので詳細はそちらを御覧ください
今回設定したのサンプル通りですが、見ての通りJDKを複数バージョン指定することができます
Travisは指定したバージョン分ビルドを実行してくれるため所謂、クロスプラットフォーム分散ビルド的なこともTravis上で実現することが可能となっています
(いちいち各バージョンごとのビルド環境を構築するのって大変ですからね。。。)
4. git push
あとは作成した.travis.ymlファイルをGithubにコミットすれば完了です
WebHookの情報はすぐにTravis側に通知されるようなのでTravis側のビルド結果を確認してみましょう
結果の詳細を確認することができるかと思います
各JDKごとのビルド結果を見れることはもちろん、Jobからリンクを辿って確認すれば実際に裏側で実行されたコマンドベースの結果を閲覧することも可能です
今回は残念ながら全部のビルドが失敗しているようですが、コマンドの結果を見てみるとSeleniumのテストをmaven経由で実行しておりX環境がないためにエラーとなっていました
https://travis-ci.org/kakakikikeke/java-selenium-ui-test/jobs/18171596
いろいろ調べてみるとSeleniumのようなUIテストもTravis上で実行する方法があるようなので次回Seleniumを実行する方法でも紹介できればと思っています
WebHookの情報はすぐにTravis側に通知されるようなのでTravis側のビルド結果を確認してみましょう
結果の詳細を確認することができるかと思います
各JDKごとのビルド結果を見れることはもちろん、Jobからリンクを辿って確認すれば実際に裏側で実行されたコマンドベースの結果を閲覧することも可能です
今回は残念ながら全部のビルドが失敗しているようですが、コマンドの結果を見てみるとSeleniumのテストをmaven経由で実行しておりX環境がないためにエラーとなっていました
https://travis-ci.org/kakakikikeke/java-selenium-ui-test/jobs/18171596
いろいろ調べてみるとSeleniumのようなUIテストもTravis上で実行する方法があるようなので次回Seleniumを実行する方法でも紹介できればと思っています
今回紹介する内容は以上です
基本中の基本の部分だけなのであとはビルドの内容をどうするかをもっと詳細に決めていく必要があります
■Tips
プライベートリポジトリに対応したプライベート版のTravisもあるようです、プライベート版は有料でご利用できます
基本的にTravisはパブリックなサービスなのでビルド結果は誰でも閲覧することが可能となっています
なのでパスワードや見られてはいけない情報などがビルド結果に出ないように注意してください
今回実はmavenプロジェクトだったのですが、.travis.ymlファイルにmavenプロジェクトであることを記載していないのに自動でmavenビルドしてくれました
仕組みは詳しく調べていないので分かりませんが、pom.xmlファイルの存在等を調べて自動で判断してくれているのかもしれません
基本的にTravisはパブリックなサービスなのでビルド結果は誰でも閲覧することが可能となっています
なのでパスワードや見られてはいけない情報などがビルド結果に出ないように注意してください
今回実はmavenプロジェクトだったのですが、.travis.ymlファイルにmavenプロジェクトであることを記載していないのに自動でmavenビルドしてくれました
仕組みは詳しく調べていないので分かりませんが、pom.xmlファイルの存在等を調べて自動で判断してくれているのかもしれません
■参考サイト
0 件のコメント:
コメントを投稿