亀岡的プログラマ日記

京都のベッドタウン、亀岡よりだらだらとお送りいたします。

Jenkins勉強会大阪 #jenkinsstudy 第二回にいってきましたよー。

第一回は参加できなかったので、なんとか第二回は参加することが出来ました!しかし、Jenkinsのコミッタさんやら象本の訳者さんやら、あまりにも豪華でどこの有償セミナーに迷い込んだかと思ったですよマジで。

楽しかったし、刺激的だったけど、難しかったね。

自分自身がそれほどまでJenkinsを使いこなせていないのと、セッションのレベル自体が割と高めだったのもあって、メモを取りながら知らない用語を調べてついていくので精一杯、という感じでした。なんとか主体的にJenkins使うようにならないといかんねぇ、というのが本音です。
ただ、(これは勉強会の趣旨とはちょっと外れるのだろうけれど)”ビルドの自動化”という観点で、自動化するためのコツとか、そういう話も今後聞けたらなぁ、と思ってしまう僕なのでした。

そんなわけで、自分のメモをざくっと公開です。何かの情報の足しにでもなれば。

ソースコードレビューシステムGerritとの連携


  • 遅れたよ遅れたよ

  • Gitとうまく連携するイメージ


    • masterじゃないレビュー用のBranchにpushしてレビューを行い、通ったらmasterにpush、みたいなイメージ?

    • レビュアーはソースコードに点数をつけていく ⇒ 何点以上ならOK、ってのを決めとくのかな?

    • レビュー通っていないコードはpullできないことになっている



  • Review + Verifyのプロセスがある


    • このVerifyにJenkinsを使う!


      • gerritからの指示でpushした瞬間にverifiedを確認する

      • gerritのレビュア名にはJenkinsさんが!!





  • gerritをJenkinsと統合することでPre-Tested Commitが可能になる!!


    • verifiedの部分でそうなってる




中規模プロジェクトでのJenkinsの運用を支える技術

@ikikkoさん from ヌーラボ


  • 規模感


    • ジョブ100ちょっとくらい



  • 問題


    • ジョブ100超えると運用手動は無理ゲー



  • 対策


    • 依存ライブラリの管理


      • 自動的に必要なライブラリを用意する

      • ちょっと手動では管理しきれなくなる

      • ライブラリのバージョンが頻繁に代わるようなケースでかなり有用


        • 内部で使ってるライブラリとかね!



      • Jenkinsとの連携


        • プロジェクトの上流下流の設定が自動ででき、ビルド順を管理できる

        • バージョンの管理もできる



      • ライブラリ管理ツール


        • Ivyを使った(Antベースなので)



      • リポジトリ管理ツール





    • プロジェクトの一括変更


      • エラー時のメール通知とか(新しい人入ったし・・・)

      • スクリプトコンソール使おう!!


        • 書いてるとJenkinsさんの内部実装を伺うことができる



      • 他にも・・・


        • 標準的な項目をGUIで一括編集できるプラグイン

        • Scriptler Plugin


          • Scriptの保存やインポートができる







    • プロジェクトの自前コピー


      • JenkinsのRemoteAccessAPIで作成


        • REST風のAPIがある








Amazon EC2でJenkinsを使ってみる

@tamagawa_ryuji 玉川さん


  • 象本 翻訳者(!)


    • GAE本やAzure本も!

    • Jenkinsのカエル表紙本も翻訳中!



  • 蛙本の不足補完



  • AWS


    • 多彩なクラウドサービスの集合体


      • ストレージ

      • ロードバランサ



    • EC2でやってみよう



  • Jenkins on EC2の動機


    • コストが一時間単位!

    • 伸縮自在!


      • JenkinsにEC2プラグインもある



    • マルチ構成プロジェクトで特に便利そう


      • マルチ構成プロジェクト:異なる設定でビルドを行うらしい・・・





  • Jenkins on EC2 疑念


    • セキュリティは?


      • Amazon Virtual Private Cloudってのがある!

      • Direct Connect:専用線接続もできる


        • インターネットを通らない!







  • デモデモ



  • デモデモその2


    • JenkinsのEC2プラグインを使って、ビルド時に勝手にインスタンスを作ってくれる・・・?

    • Jenkinsで自動インストールできないものがあるので、それは自分用のAMIを作っておきましょう。

    • EC2プラグインは割りと大変なので試行錯誤してね


      • EC2プラグインは64bit非対応






Building Jenkins plugin with Ruby

川口さん (動画参加)


  • RubyだけをつかってJenkinsのプラグインを作れるよう開発中

  • スケルトンコードはJPIというツールを用いて自動生成

  • JPIから簡単にデバッグ可能


    • 編集したコードもサーバー再立ち上げ無しにデバッグ可能



  • JPIからビルド→リリースまで可能


Arduino でつくる XFD のつくり方とその効果

@haradaakiroさん


  • XFDとは?


    • Jenkins的には、ビルドが壊れたときにお知らせするデバイス


      • 見に行かなくても見えるように!!

      • あんどんですね。





  • 今回はArduino


    • Arduino Uno

    • イーサネット + リレー回路で、TCP/IP越しにJenkinsを確認、その後リレー回路をON

    • Jenkins Remote API



  • XFDのメリット


    • Jenkinsの赤をほっとけない