BuildHiveをリリースしました

このところ頑張って作っていたBuildHiveがようやっとリリースに漕ぎ着けましたので、使ってやってください。


BuildHiveはCloudBeesDEV@cloudの一環で、GitHubリポジトリに対する継続的インテグレーションビルドをとても簡単にセットアップできるサービスです。どなたでも無料で使えます。


トップページには既にBuildHive上でビルドされている様々なプロジェクトが表示されます。新しくプロジェクトをセットアップする為に、BuildHiveにいって右上の赤い「Add your Git repositories」ボタンをクリックします。





GitHubとのOAuth認証を聞かれるので、「Allow」ボタンを押して許可してやってください。





すると、CIビルドをセットアップするGitHubリポジトリを選ぶ画面が出てくるので、適当なプロジェクトを選んで「Enable」を押します。リポジトリがたくさんありすぎる人は、リポジトリの名前の一部を右上のフィルター入力欄に入れて絞って見てください。BuildHiveがリポジトリの中身からプロジェクトの種類を自動判別して、適切なCIジョブを設定してくれます。今はAnt/Maven/Gradle/rakeなどを中心にプロジェクトを判定しますが、自動判別はまだ色々改善の余地があると思うので、うまくいかないのがあったら教えてください。メールの通知先など、ビルドの内容は後から設定画面で修正出来ます。





スクリーンショットは英語で撮ってしまいましたが、トップページを除いてはちゃんと日本語化もしてあります。


やることはこれで終わりです。後は、リポジトリにプッシュされる度に自動でビルドが行われます。また、BuildHiveに登録されたリポジトリにプルリクエストが来ると、プルリクエストをマージした結果が投機的にビルドされ、その結果がプルリクエストにコメントとして反映されます。Jenkinsのプラグインは既にこれを使っています。





これでプルリクエストをマージするのも安心ですね!


Jenkins User Conference New Yorkから帰ってきたら幾つか追加で実装したい機能もあるのですが、ひとまずはリリースということで、感想等をお聞かせくだされば。



裏側では、BuildHiveの機能はJenkins上のプラグインとして実装されています。プロジェクトを幾つかの雛形に落とすためにはテンプレートプラグインが、プルリクエストを投機的にビルドする為には検証済みマージプラグインが使われており、これらの機能はJenkins Enterprise by CloudBeesの一環として提供されているので、似たような環境を自社内のJenkins上で構築する事も出来ます。また、GitHub OAuthプラグインなど様々なオープンソースプラグインも組み合わされています。

日本OSS貢献者賞をもらいました

Jenkinsの活動で、第7回 日本OSS貢献者賞を頂戴しました。畏れ多いことです。推薦していただいた方にもお礼申し上げます。先週の金曜日に授賞式があったそうなのですが、残念ながら用事の都合や渡航費用の関係で参加できませんでした。当然に授賞式での発表も出来なかったので、ここで代わりをします。


Jenkinsは僕にとっては自分の子供のようなものです。年齢的には第一子ということになるのかな。ちょっと古いですが、この子の「成長記録」があるので、もしよかったらどうぞ。



これはコミット活動を可視化したビデオです。実際の子育てと同じように、オープンソースプロジェクトの手の掛かり方も成長と共に変化していきます。最初の2年位は一人でせっせと一人でコードを書いていましたが、ある時Jesse Glickが現れ、徐々に多くの開発者が参加して成長が加速して行きます。コードを書く内容も機能の直接の実装から他の開発者が必要なパーツを提供することに移っていきます。その合間に、宣伝やら、デーモンの整備やら、インフラやら。


日本で普及活動をし始めたのはいつの頃だったか定かではありませんが、大きな転機になったのは勉強会を始めたことです。この活動を通じてid:ikikkoさん、id:cactusmanさん、id:ssogabeさん、id:masanobuimaiさん、id:linoさんといった多くの仲間が増えました。日本での普及はこうした方々のおかげで成り立っていて、僕は鶏のトサカみたいなものです。この中でも特に僕のヒーロー「リアルJenkinsさん」ことikikkoさんについてはまた項を改めてその素晴らしさを書こうと思います。


オープンソースは、人にあげればあげるほど自分にも返ってくるという不思議なものです。そして、一人でコツコツとコードを書くのも楽しいけれども、やはりみんなでワイワイとあれやこれややる方がもっと楽しい。使ってくれるユーザーが増えて「素晴らしいソフトウェアをありがとう」とお礼を言われると嬉しい。そして、何よりも、自分一人だけの力ではなく多くの人の力を合わせないとできないような規模の事を、企業という経済的な合理性という枠に囚われずにできる、というところが素晴らしいです。


Jenkinsにはプラグイン機構という、「船頭多くして船、山に登る」事のないようなスケールする仕組みを作ってあります。また、それなりに大きなプロジェクトになってきたので、コードを書く以外の活動も沢山あります。OSSに参加してみたいけどどうやったらいいのか...という方もどんどん参加してみてください。自分で始めるだけがオープンソースプロジェクトではないですから。

FOSDEMみたいなのを日本でもやりたい!

デブサミで岩切さんにアイディアを売り込んだのですが、もっと多くの人に伝えるためにここにも書きます。


毎年2月、厳寒のベルギーはブリュッセルにて開かれるFree and Open Source Developer's European Meetup (FOSDEM)というカンファレンスがあります。ヨーロッパ最大のオープンソースのカンファレンスです。2008年と今年2012年に行く機会がありました。このカンファレンスは非常にユニークで、4年振りに行ったらさらに独自色が更に濃くなって魅力的になっていました。こういうのを日本でもやりたい、と思うので、紹介します。

その1:OSSのブース

FOSDEMの独自色その1は、展示ブースが全てオープンソースプロジェクトや関連団体の点です。ベンダーのブースは一つもなく、スーツを来たビジネスマンがいるブースもありません。その代わりに、圧倒的な数のギーク達が勢ぞろいし、時には子供連れのおじさんや学生がブースにいる時もあります。Jenkinsブースの隣のIllumOSにも子供がいて、彼が写真を撮ってくれたり「Jenkinsって何?」と質問してくれたりしました。プロジェクトでお揃いのTシャツを着たり、ビール瓶にプロジェクトのステッカーを貼って一本一ユーロで販売したり、お祭りのような雰囲気です。ブースに半田鏝が置いてあるような組み込みLinuxからJenkinsのようなJavaプロジェクト、X.orgMozillaなどあらゆる種類のプロジェクトが来ています。商用製品やサービスの紹介はさせない、というポリシーのようです。しかし、IllumOSにNexantaの人が来ているように、会社勤めでOSSに関わっている人達はたくさんいるようです。

その2:小規模トラック

FOSDEMの独自色その2は、devroomの存在です。FOSDEMは期末試験が終わった週末の大学で開かれるので、100人位収容の小型の教室がたくさんあります。この小型の教室が一つ、テーマ・プロジェクトに割り当てられます。例えば、X.org devroom、open Java devroom、configuration management devroomといった具合です。このdevroomは小さな発表会場ですが、テーマに沿った濃い内容の発表が行われます。このdevroomが10個位同時進行で、日本風にいうなら各コミュニティ勉強会の同時開催のような雰囲気になります。内容も技術的な話だけではなくライセンスの話や、コミュニティに人を呼ぶ工夫、のように多岐に渡っています。

その3:溜まり場

FOSDEMの独自色その3、Delirium Cafe。Cafeという名前ですが、中身はパブです。ベルギーはビールで有名ですが、ここにはベルギービールを初め世界中のビールが勢ぞろいするビール専門店です(日本のものも銀河高原ビールとかが置いてありました)。かなり大きなこのパブが、FOSDEM期間中は事実上FOSDEMの貸切になります。特に前夜祭では、ヨーロッパ中から現地入りするギークが一同に集結し、山手線の満員電車もかくやと思わせる、立錐の余地もない大混雑になります。これが一晩中朝まで続きます。まったくの初心者が行くと壁の花になってしまうかもしれませんが、コミュニティでアクティブな人を何人か知っていれば、その人について廻っているだけで一晩楽しく過ごせます。あまりの喧騒で会話はほぼ無理ですが。Jenkinsプロジェクトでは、ヨーロッパのコミッタが6-8名集まり、なんとかテーブルを占拠してガヤガヤとやりました。JRubyのCharlesが通りかかれば挨拶し、Vagrantの人が通りがかれば挨拶し、という具合です。これがとても楽しい。



FOSDEMにはこれ以外の小道具もたくさんあります。例えば、教室の幾つかにはアジェンダが割り当てられておらず、当日に1時間単位で貸し出され、その場で突発的に発生したミーティングに使われます。Jenkinsもこれを使ってUIに関する議論をし、飛び入りでユーザーの人が参加してくれました。Twitterなどのリアルタイム通信の仕組みが出来てから、こういった即興の集まり毎が簡単になったように思います。


カンファレンス自体も無料で、なんと登録さえ必要ありません!参加者がTシャツを購入してその売上と、スポンサーからの収入によって運営されているようです。スタッフもほとんどは学生のボランティアで(どこからあれだけの数のボランティアを集めてくるのかは謎です)、呼び出しもM/Cもなく、またスポンサーをできるだけ集めなくて済むように、全体を安くあげようというポリシーが感じられます。


今年は4000人規模だったと誰かが言っていたので、その規模が推しはかれるのではないかと思います。


僕は今年デブサミに初めて参加して、あちこちのコミュニティのブースが出展されているのにいたく感動しました。また、FOSDEMにはない、企業の展示とオープンソースを混在させているのもユニークで素晴らしいです。あの感じを失わずに、ここに挙げたFOSDEMのいいアイディアを取り込んでいけたら物凄い事になると思うので、よろしくお願いします>関係者の方。

100人のプロが選んだソフトウェア開発の名著

デブサミ10周年の記念企画として、「100人のプロが選んだソフトウェア開発の名著」に参加しました。100人がそれぞれに一冊の本を推薦するという内容です。

100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊

100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊

僕自身、昔はコーディングに関わる本やAPIのリファレンスなどを買った記憶がありますが、インターネットのせいか、ここ数年はそういう紙の技術書からは遠ざかっていました。この本でお薦めされている本も、そういう時代背景を反映してか、テクノロジーの本だけでなくて、自分の思想や思いを伝えるための象徴としての一冊をあげている人が多いように思いました。(中国語や英語を勉強する本を挙げて、「世界で通用する為には...」みたいな話とか、僕自身のデブサミでのLTでのテーマと同じ意図ですよね。)


そういう意味で、ここに挙がった100人の問題意識や思いの原点が垣間見えて、そういう読み方が面白いです。(翔泳社さんの狙いは勿論ここで挙がった本を買ってもらうことだと思うのにごめんなさい)


だが、しかし!闘うプログラマを誰も薦めていないというのだけは納得できない!

闘うプログラマー[新装版]

闘うプログラマー[新装版]

もっとも、今の人達にとってのWindows NTは僕にとってのMSXみたいな感じで、個人的な思い入れのない歴史の1ページに過ぎないので、読んでも面白くないのかな...。

来週から日本に行きます

2/15から日本へ行きます。例によって色々な用事や発表がてんこ盛りです。

  • 2/16にはデブサミで「あの人の自分戦略を聞きたい!」というLT大会に参加します。自分戦略なんていう大したものはありませんが、おっさんぽく若者に小言を垂れろ、という意味だと理解したので、普段から思っている情報発信について話そうと思います。関連の事は以前にも書きました。
  • 2/17には同じくデブサミで「Continuous DeliveryとJenkins」という内容で話をします。トラックの調整をなさっている和田さんと相談させていただいて、Jenkinsの使い方とか機能みたいな具体的だけど細かい話をするのではなくて、理論というかテーマというか、風呂敷を広げた大きな話をしたほうがよいという事になったからです。これは以前のJJUGでの発表の発展版です。
  • 2/21は楽天さんでJenkins勉強会です。今回はJenkins-as-a-ServiceであるCloudBeesのDEV@cloudについて、宣伝にはならないようにその実装や工夫を紹介したいと思います。いつも運営を一手に仕切ってくださっているikikkoさんには本当に頭が上がりません。現在のところもう満員ですが、第三次募集があるという噂も...?
  • 2/22には豆蔵さんと一緒に、豆ナイトでJenkinsのイベントがあります。僕の中では、Jenkins勉強会では既に使っておられるビルド職人さん向けの高度な話を、豆ナイトでは初めての方向けの導入・入門の話をしようという風に棲み分けています。
  • 2/23は同じく豆蔵さんにて、Jenkins トレーニングをやります。まだ満席ではないので、引き続き参加者を募集しています。
  • 2/24は丸山先生にお誘い頂いた、JJUGクラウド研究会のイベントである第三回「エンタープライズ・クラウドの現在」CloudBees Platformについてしゃべります。これはJenkinsだけの話というよりも、むしろPaaS関係の話がメインになります。


FOSDEMSCALE10xで好評だったステッカーをいっぱい持っていくので、ぜひステッカー目当てに参加してください。この他にも、あちらこちらに個人的にお伺いすることになっていますが、「うちにも遊びにきてよ」という方がおられればできるだけなんとかしたいと思っています。


そういうわけで、皆様、よろしくお願いします!

英語コミュニティに発信しよう

今日、San FranciscoでJenkinsコミュニティの人達と飲んでいて、ふと日本語コミュニティの話になりました。聞いていて「全くその通りだ!」と思ったのでその場で急いでtweetしたのがこれです。でも帰ってきてみて、これだけだと多分伝わらないと思ったので改めてブログにすることにしました。



Jenkins日本語コミュニティの活発さと規模は常々こちらでも宣伝しているのですが、やっぱりヨーロッパ・アメリカ圏のコミュニティの人達には言葉の壁があってどうしても見えない存在になってしまっています。それでいいと思えばそれでもいいのですが、他方で、プロジェクトミーティングがヨーロッパ・アメリカ時間になってしまったり、Jenkins User Conferenceをどこでやろうかという時に東京は候補に上がらなかったり、色々損することが多いのも事実です。


そこで@jenkinsciの中の人Tylerが言っていたのが、じゃあ誰か日本語コミュニティの人にその活動を英語圏の人に紹介してもらってよ、と。今までは、僕も本家のニュースを日本語に翻訳して公開、みたいなのは考えていたのですが、その逆は考えたことが無かったので目から鱗でした。そう言われてみれば、じつはもうすでに発信できるコンテンツも沢山あるじゃないかと。Advent Calendarを週一で英語にするだけでも半年間いけますよね。Jenkins本の売れ行きの紹介とか、O'Reilly カエル本の翻訳の予定の紹介とかもできるし、勉強会の報告もできるし。


全部翻訳するのは面倒くさいならば、2〜3のハイライトを見繕って翻訳して、残りはGoogle Translateへのリンクを集めるとか、色々かけられる手間にあわせた方法があると思います。技術系Adcent Calendarはわりと日本独自のものだし、そういう日本の技術者文化に関する発信とかもできそうだし、これって色々と面白いんじゃないかと夢が広がりました。



既に池田さんが立候補してくださいましたが、そういうわけで、こういうのに協力しても良いという方をぜひもう何人か募集します。http://jenkins-ci.org/ にアカウントを作って本家のニュースとしてポストできるようにするあたりから始めるのがいいかなと思っていますが、展開次第では次回のJenkins User Conferenceで日本のコミュニティの活動報告をしたり(訪米もよし、ビデオもよし)、色々ありえると思います。英語が多少できて、IRCで英語で会話するのが苦にならなければなお素晴らしいです!

Jenkins X'mas プラグインを改善しました

@kiy0takaさんがバイナリの実用性とソースコードの実用性が素晴らしく乖離したJenkins X'masプラグインを書いてくれました。


このプラグインは非常に簡潔に書かれていながら幾つかのあまり使われない拡張ポイントを使っていて、プラグイン開発者には非常に参考になる逸品に仕上がっています。そこで、Jenkinsコミュニティの互助精神と他人の褌プログラミングの心を紹介するために、またクリスマスにいつもLEGOをリクエストしても嫁さんが買ってくれない僕も、早速pull requestを送って新しい機能を追加してみました。


この変更によって、以下のように、「爆発しろ」のテキストに加えてクリスマス中止のお知らせが表示されます。また、「爆発しろ」はとあるYouTubeビデオへのリンクになります。

このように、最近のバージョンのJenkinsではコンソール出力にマークアップを利用して多くの情報を付加することが可能です。活用してみてください。また、このようにJenkinsプロジェクトではお互いのプラグインをよってたかって改善しあう文化があります。皆さんもぜひ他人の始めたプラグインを改良してみてください。