ヤフー株式会社さんで開催された、テスト自動化研究会の旗艦イベント「システムテスト自動化カンファレンス2014」にスタッフとして参加、また、一枠いただいて講演させていただきました。
写真は会場から見下ろせた、見ろ、リアj ミッドタウンのイルミネーション。
システムテスト自動化 標準ガイド
昨年に続き二回目の開催となったシステムテスト自動化カンファレンス2014。今回は、主催のテスト自動化研究会メンバーで翻訳・執筆を行なった書籍『システムテスト自動化 標準ガイド』で得られる知見を中心に紹介する内容でした。
システムテスト自動化 標準ガイド (CodeZine BOOKS)
- 作者: Mark Fewster,Dorothy Graham,テスト自動化研究会,伊藤望,玉川紘子,長谷川孝二,きょん,鈴木一裕,太田健一郎,森龍二,近江久美子,永田敦,吉村好廣,板垣真太郎,浦山さつき,井芹洋輝,松木晋祐,長田学,早川隆治
- 出版社/メーカー: 翔泳社
- 発売日: 2014/12/16
- メディア: 大型本
- この商品を含むブログを見る
翔泳社様による書籍の先行販売も行われ、ご用意いただいた分および、急遽取りに行っていただいた会社在庫分まで完売してしまったとのこと。購入できなかった方は申し訳ないです。
またどこからか「ギア本」という愛称も付けていただいたようで、翻訳・執筆陣の端くれとして有難い限りです。
システムテスト自動化カンファレンス2014
カンファレンスの内容、また他の登壇者の資料については、connpassやテスト自動化研究会のWebサイトなどに順次上がっていくはずですので、そちらを参照してください。
ビルドプロセスとCI
『システムテスト自動化 標準ガイド』の第14章「CI(継続的インテグレーション)」を書かせていただいた流れで、CIやビルドパイプラインまわりについてお話させていただきました。
会場は、何らかのCIツールを使っている方が7割くらい。Travis CIなどのサービスを使っている方は5〜6名ほど。
余りテクニカルな話ではなく、ツール起点で考えていませんか?基本に立ち返るために先人の知見に立ち返ってみては?という話。 「言われてみれば当たり前」のことに気付かないことは往々にしてあるはずで、それをちょっと視点を変えて見てみるきっかけにでもなれば幸いです。
実はかなり直前までオチがつかず困っていたのですが*1、「繰り返しはギャグの基本」という言葉を思い出してまとめてみました。基本大事。
なお、スライド内でも紹介していますが、CIやビルドパイプラインまわりのテクニカルな話は『継続的デリバリー』を読むのが一番だと思います。 『継続的インテグレーション入門』はさらに深く、原点に当たりたい人は読むといいと思います。
継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化
- 作者: David Farley,Jez Humble,和智右桂,高木正弘
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2012/03/14
- メディア: 大型本
- 購入: 24人 クリック: 567回
- この商品を含むブログ (52件) を見る
- 作者: ポール・M・デュバル,スティーブ・M・マティアス,アンドリュー・グローバー,大塚庸史,丸山大輔,岡本裕二,亀村圭助
- 出版社/メーカー: 日経BP社
- 発売日: 2009/08/06
- メディア: 単行本
- 購入: 18人 クリック: 388回
- この商品を含むブログ (37件) を見る
以下、質疑応答でいただいた内容とかTweet拾ったものとか。
Jenkinsについて
私のオススメは「かえる本」
- 作者: John Ferguson Smart,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/02/22
- メディア: 大型本
- 購入: 12人 クリック: 345回
- この商品を含むブログ (38件) を見る
あとは用途(目的)に応じて、という感じでしょうか。
今やってる「Jenkinsのビルドパイプライン仕込み」の話、ここらへんすかね? 「Jenkinsのビルドパイプライン系plugin3種比較」http://t.co/TaicfEpwTm #stac2014
— 三浦カズヒト(エモいこと言う人(自動)) (@kazuhito_m) December 14, 2014
Walterについて
Jenkinsのプラグインに対するアドバンテージを質問されました。私としては、
という点です。Jenkinsでもジョブ設定の差分を管理できるJobConfigHistory Plugin
がありますが、可用性が断然違ってきます。
また、方向性としては、私の後に講演されたYahoo! JAPAN赤根さんのように、ジョブ自体を毎回生成するアプローチもありますね。
Walterについては、作者さんのブログ記事もご参考。
シンプルなビルドパイプラインツールwalterをリリースしました | Advanced Technology Lab
Travis CIについて
口頭で挙げたもの。
- Travis CIでiOSアプリのリリース作業を自動化する - 24/7 twenty-four seven
- Travis CI 日本語コミュニティ
- Travis CI Meetup Tokyo - connpass
iOSアプリのビルド
CloudBeesでiosがビルドできるようにしたって @kohsukekawa さんが言ってたような。気のせいだったかな。 #stac2014
— hisayoshi suehiro (@bols_blue) December 14, 2014
はい、忘れてました。CloudBeesでもMac OS XのSlaveを選択できるので、iOSアプリのビルドできるはずです。少し前にPriceとか変更になったのですが、以前は有料プランでのみ選択可能だったはず。
iOSのビルド提供してるサービス、Travis CIとHosted CIですかね。 #stac2014
— KazuCocoa (@Kazu_cocoa) December 14, 2014
【12/18追記】CircleCIもiOSビルドに対応したと発表されました。 see: Announcing the Launch of iOS and Android Support on CircleCI | The Circle Blog
iOS、Mac OS Xアプリのビルドは、Mac OS Xで実行する必要があります。JenkinsをLinux上に立てている場合はSlaveとしてMacを接続し、そこでビルドが走るようにする必要があります。
上記のTravis CIなどは、Mac OS Xの動作するWorkerを備えています。このような形でMac OS Xを使うのはAppleと別途契約しているという話だったはず。
iOSアプリのビルド自動化については、こちらがおすすめです(自薦)。
- 作者: 長谷川孝二
- 出版社/メーカー: 秀和システム
- 発売日: 2014/03/18
- メディア: 単行本
- この商品を含むブログ (1件) を見る
*1:中だるみについては早々に諦めた