神﨑 拓人

JenkinsとGitHubのWebhook連携の整理


Jenkins と GitHub を連携させる Webhook について

GitHub と Jenkins を連携させる機能のひとつに「Webhook」と呼ばれるものがあります。この Webhook をつかうことで、 GitHub 上で管理しているリポジトリにブランチを push したときや、新たに Pull Request を作成した時などに Jenkins のジョブを走らせるといったことができます。

しかしながら、 Jenkins や Jenkins の複数のプラグインが Webhook の機能を提供しており、どの機能がどのサービスを提供しているのかがわかりづらくなっているのが現状です。そこでこのエントリーでは、それぞれの機能でどのような特徴があり、どういった設定が必要なのかを、実際に設定を行いながら整理したいと思います。

なお使用している Jenkins のバージョンはこの記事執筆時点での Jenkins の最新バージョンの安定バージョン 2.32.3 LTS です(各プラグインのバージョンについては項目ごとに記述)。

続きを読む


jenkins と ghprb,github commit status を使った仕事が楽になる 10 の設定


「ぐるぐるイーグル」チームでエンジニアをしている @takesato こと佐藤(たけ)です.

「ぐるぐるイーグル」では,エンジニアだけでなく企画もデザイナも github を使用して仕事をし,お互いレビューをするという環境ができあがっています.
see. 【GGG#4】Aiming『ぐるぐるイーグル』にみるゲーム性を左右する背景マップの作り方…職種を超えた挑戦が効率的なワークフローを生む | Social Game Info

プロジェクト開始当初から Jenkins も導入しており,Jenkins の結果を github に反映していました.
しかし,github の表示できるステータスは長い間1つのみだった為, 「ぐるぐるイーグル」 での Jenkins の Job は色々なチェックを全て一つの Job でおこなっていました.
Job の分割を行なうと色々なメリットがあるので,今回 Job の分割を行ないました.
いくつかその時に得た知見を紹介してみようと思います.

ちなみにメリットはこのようなものがあります.

  • 分割した Job 単位で成功失敗がわかる.
    • 1つの Job の場合,途中で失敗した場合,残りの処理が成功するのか失敗するのかがわからない.
  • 依存しない Job であれば,複数同時に実行する事ができ,時間の短縮にも繋る.
  • A(Unity), B(Ruby) のようなテストの場合, B を実行するサーバだけ Linux のサーバに移すといった事もやりやすくなる.
  • 失敗した Job だけを再開できる(要 rebuild plugin)

続きを読む


hirooka

Jenkins Gerrit Trigger Plugin の使い方


はじめまして。Aiming で C# を書いてるウェブっ子エンジニアの廣岡 (hirooka) です。

弊社ではすべての開発ラインでコードレビューに Android 開発で有名な Gerrit という Google 製のツールを使っています。
今回は、この Gerrit と CI ツールである Jenkins を組み合わせて使う需要が社内で発生したので、公開社内向けドキュメントにしました。

続きを読む


堀井 啓真

Rails Best Practices を CI (Jenkins) で確認する


こんにちは。ほりいです。 今日は rails-bestpractices の話をします。

Ruby on Rails で開発するときのベストプラクティスをまとめている Rails Best Practices というサイトがあります。先日の RubyKaigi 2011 で、このサイトのベストプラクティスに従っていないコードを指摘してくれる gem である rails_best_practices についての 発表がありました

今回はそれを CI に組み込んでみた話をしたいと思います。

続きを読む