Jenkins ユーザ・カンファレンス 2015 東京 参加メモ #jenkinsja #juc2015

法政大学の校舎で行われたJenkinsユーザカンファレンス2015に参加してきたので忘れないうちにメモ書きを。*1

全体の感想としてはすでにJenkins(CI)の導入は済んでいて、CIを以下に活用するか、既存の仕組みと置き換えていくかといった内容がほとんどの印象。
CIサーバすら立てる許可の下りなかった身分としては羨ましい限り…。 いまの案件はWindowsServerが本番環境なのでそういった話がなかったのはいわゆるエンタープライズの現場への浸透はまだなのかもという気がする。*2

直接聞いたセッションは以下。*3

  • 基調講演
  • はてなにおける継続的デプロイメントの現状と Docker の導入
  • JenkinsとPuppet+ServerspecでインフラCI
  • おばかXFDコンテスト
  • LT大会

基調講演

  • jenkins dockerプラグイン
  • 受け入れテスト&ハーネス
  • スケーラビリティ CLI通信での使用、Maven2ジョブの高速化
  • jenkins workflow plugin
  • iterateプラグインとBRUNCH毎の自動ジョブ生成
  • 青緑デプロイメント 自動コミット・アボート
  • 継続渡し方式 CPS
  • ワークフローを関数として切り出すことで再利用ができる。
  • LTSでも動く

はてなにおける継続的デプロイメントの現状と Docker の導入

  • はてなは主にperlを使うのでコンパイルは不要だが静的ファイルの生成、デプロイでJenkinsを活用。やっぱり手作業の自動ジョブ化がメイン。
  • まかれる サーバー管理サービス Scala
  • ジャンプルーキーははてな・TypeScpript→js→minify(要ビルド)・LESS→CSS(要ビルド)
  • ドキュメントハッシュ
  • Slackへの通知はSlack Notification Plugin
  • 開発機能の確認をいかに早くするか。->devshot
  • docker engine 環境を分離する目的に適したコンテナ型仮想化技術
  • dockerコンテナの振り分けはポート番号をdocker apiで解決
  • dockerイメージのビルドにはキャッシュをできるだけ効かせる。
  • dockerイメージのビルド時間の短縮はDockerfileとの細かい戦いがある。変更頻度の低いリソースはできるだけ上の方に書くとかFROMで再利用できる単位を色々考えるとか
  • 環境確認用のfavicon

JenkinsとSeleniumの活用事例:試験自動化のプロジェクトへの導入

JenkinsとPuppet+ServerspecでインフラCI

  • へてむる
  • ロリポップの上位版レンタルサーバ
  • 継続的webサービス改善ガイド。
  • 入門Puppet ディレクトリ構成も載ってる
  • Puppetの検証にはnagiosなどの監視が効くかなどが観点
  • 仕様の確認は目視だった
  • 目視確認していた部分をserverspecで担保できるようになるぽい。
  • Puppet自体のリファクタリングのため。
  • 商用ソフトのインストールは基本設定ファイルの生成と思われるので、生成後のファイルを配布する。

おばかXFDコンテスト

  • ファストアンドスロー
  • arudino、頑丈 デバイス追加がいろいろできる。
  • ラズパイ 安め linuxが動く シリアルがない 電源が弱いからすぐリブートする 電圧かけるとすぐ死ぬ。
  • intel edison 最近出た wifi付き i/f電圧1.8V スペック高い
  • intel edison + arduino breakout ちょっと高価
  • GR Sakura I/Fはardiunoと同じ ストレージデバイスに見えるのでバイナリをコピるとそれが動く。

LT

Jenkinsを使った継続的Webセキュリティテスト

  • 現状は開発と脆弱性の検査が乖離している リリース直前に脆弱性が発見されるとスケジュールが遅延する。
  • googleカーネギーでも同様の動きがある
  • コーディング〜リリースのサイクルの中に診断を組み込む。
  • vaddy

Jenkinsおじさん、お堅いメガバンクに就職

  • redminesvnsonar、jenkinsをパッケージでまとめて各案件で使う ->パッケージ化って どうやったの。

Jenkinsおじさんと楽しい連携ツールたち

  • deploygate
  • gradleで配布時にビルドメッセージを付与できる。

ゲーム業界の人がJenkinsさん3Dモデルで遊んでみた

  • カオス

CI”じゃない方”のJenkins

  • jenkinsの管理画面をバッチ処理の呼び出し元として活用する

*1:法政大学の講堂すごい豪華だった

*2:人づてに聞いた話だけど川口さんもWindowsServerはつらいと言っていたらしい…。

*3:TLで流れてきて拾ったのもいくつかある

2014年読んだ本まとめ 技術書編

*nix

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

古典。 ひとつのことをうまくやる、部分の総和は全体より大きい、といったUNIXの基本的な哲学がまとめられている。 が、そういったことはいろんな本に書かれている中でこの本で一番面白かったのは、 『第3章 楽しみと実益をかねた早めの試作』 じゃなかろうかと思う。

[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)

[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)

今年読んだというか、デスク脇にずっと置いてことあるごとにお世話になった本。
ブレース展開とかサブシェルとか検索しにくいハマりどころが丁寧に書かれている。

Web開発

Webサービス開発徹底攻略 (WEB+DB PRESS plus)

Webサービス開発徹底攻略 (WEB+DB PRESS plus)

  • 作者: 勝間亮,石田忠司,杉谷保幸,江口滋,上谷隆宏,青木俊介,久保達彦,池邉智洋,谷口公一,田淵純一,伊野友紀,西岡拓人,吉田俊明,古旗雅史,木野瀬友人,かなだまさかつ,牧本慎平,成田一生,舘野祐一,濱崎健吾,鈴木慎之介,齊藤宏多,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/01/26
  • メディア: 大型本
  • 購入: 6人 クリック: 65回
  • この商品を含むブログ (3件) を見る
Web開発の基礎徹底攻略 (WEB+DB PRESS plus)

Web開発の基礎徹底攻略 (WEB+DB PRESS plus)

Webサービスの基盤技術てどうなってるんやろと読んだ本。プログラミングよりよっぽど奥が深くて迷い込んだら抜け出せなくなりそう。 サーバというナマモノを扱う以上、ベストではなくベターを求めるという態度が必要なんだろう。

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)

Googleの基盤技術解説。えっ、なんでこの課題に対してこの方法で解決できるの?っていう頭の使い方をしながら読んだ。ありモノをどっかから持ってくるんじゃなくて自分で理屈から構築できる能力が欲しい。

Java

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

一番基礎的な使い方しかしてないなという反省とTwitterで流行ってたのと上司がデスクに置いてあったのを見かけて借りた本。TDDは既に実践していたものの、テストコードは書きっぱなしという問題を解決してくれたありがたい本。

Javaエンジニア養成読本 [現場で役立つ最新知識、満載!] (Software Design plus)

Javaエンジニア養成読本 [現場で役立つ最新知識、満載!] (Software Design plus)

JavaEE膨大すぎてよくわからない。あと数回は読んでアタリをつけてから、各分野を詳説してる本を探す。

C

業務ではもっぱらCな一方で最近の開発手法が全く適用できていないことから読んだ本。マクロでオブジェクト指向プログラミングは闇だということがわかった。テンプレートパターン、チェインオブレスポンシビリティパターンはまだなんとか実務でも使えそうだけど…。
後半のgoogletest、Jenkinsらへんはメンバーに貸すときここも読んでねと言えるので助かる。

読み物

プログラマのためのサバイバルマニュアル

プログラマのためのサバイバルマニュアル

アルゴリズムが世界を支配する (角川EPUB選書)

アルゴリズムが世界を支配する (角川EPUB選書)

インフラエンジニアの教科書

インフラエンジニアの教科書

さっと読んだレベル…。

まとめ

年間で11冊、月1冊弱ペース。もうちっと読まないとなぁ。今後の潮流としてプログラミングはできて当たり前、サービスのインフラ特性を考えた実装またはインフラ部分を自分が担当できるぐらいの能力がないとやっていけない気がしてる。
おちんぎん欲しい。

買った本

指を置く

指を置く

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)

買った本

 

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!