万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Jenkins ユーザ・カンファレンス 2012 東京

    https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=63930446
    2012年7月29日(火) 11:30-17:30

    http://connpass.com/event/467/
    ◯Jenkins基調講演
    43000ユーザー
    アフリカの南 ハワイでも使われる
    汎用sshクライアントにおるCI

    Rubyによるプラグイン開発(テキサスの人が作った)
    ・切り捨てたもの
    JavaMaven、Jelly

    ツールによる開発環境の改善
     コードのリロード
     スケルトン生成
     ビルド・リリースのサポート

    BuildHive
    pull requestが来たら間違ってるよとgithubで返信してくれる。

    SPI・・Software in th Public Interest

    Jenkins CIAプログラム

    Andeew (Cloudero)
    Bean (Yahoo)

    jenkins-ci.org

    プラグインを入れないと出来ないのをそろそろ辞めたい。

    ◯RVN Plugin Rubyによるプラグイン作成
    JavaXMLが・・・
    jenkis.rb

    構成するプラグイン
    1.java-runtime
    2.ruby-runtime
    3.ruby-tools/cli
    4. ~~

    gem install jenkins

    jpi.rb
    ドキュメントがない

    depends-onのとこ
    gemfileの依存関係を。
    jenkinsの依存関係をかく。
    ruby runtime

    Generate
    renvの中でかく。

    Jenkins::Tasks::BuildWrapperを継承したRbenvWrapper
    rbenv_wrapper/config.erbを作らないといけない。

    hamlもかける。

    attr_accessor(あとるあくせっさー)
    永続的に入れるときにはこれで値を永続的に入れておく。

    lancher.execute ビルド状況がコンソールにでる。

    jpibuild
    hpiファイルを生成

    jpiserver

    • > pluginを読み込んだJenkinsを起動する
    • > "手動テスト"が出来るようになる。

    テスト
    test-unit or rspec

    crubyでしか動かない拡張は使えない
    rubygems 使えないのでJavaライブラリで頑張る

    rvm-plugin
    jenkins-rbenv-plugin
    jenkins-hipchat-publisher-plugin

    Javaで書いたほうが早いのでは?っていうのがあるのかも?
    Javaと密集した処理はJavaで書いたほうがいい。

    公開したプラグインをいれたユーザさんはJRubyの環境はいらないのか?
    → いらない。depends onにあるので。

    build, kancher, litenerはあるのか?

    lancher.execute自体が失敗しても異常終了とならないので、自分で書く必要がある。


    Rebuilding the airplane at 10:00

    @jenkinsci

    Lookout

    36%のデプロイが失敗
    デプロイメントに68コミット

    チームや個人にコミットのマージンにそれぞれの責任を持たせる
    テストは遠たが人間のレビュー待ちの状態になる
    Git + Gerrit at the same time!
    ユニットテストだけでなく、テスト環境でのテストも重要。もちろんJenkinsで。
    SleniumとかJazzとかも使って。
    OpenStack and the icloud plugin

    デプロイメントのスリップ(手動ロールバック?)は3%あまで下手。
    フィードバックは早く、そして、イテレーションサイクルは短くなった。

    Q.コードレビューがボトルネックになることはないか。
    特定の人にコードレビュータスクがかたよってこまることはないか?

    A.コードレビューをシニアの人ではなく勉強中の人に分散するなどしている。レビューが集中してしまったら、単に他の人に振るようにする。


    Q.実際、プロダクション環境のテストについて。組み込み系でGermitを使ったフローの構築にスキルがあまりなく、苦労している。なにかよいアドバイスは?

    A.まずは小ドードレビューツールとしてGErみtを導入する。今日のプロセスがうまく走るまで半年はかかった。同じく、多分すべてがうまくいく状態にいくまで時間はかかる。
    自動テストをエミュレータではやってますか?経験的にAndroidは大変。

    • > エミュレーターはなく、SoCの組み込み。まず、Germitの導入はしているが、そのウギの段階についてヒントがほしい。

    Q. Germitを使う場合(Jenkinsの?)ユーザーは統一しているのか?それとも分けているのか?(ちょっと自信ない)

    A. GermitLDAPと連携できる。


    ◯マルチステージ
    テクマトリックス
    今井さん

    マルチステージ型継続的インテグレーションのすすめ

    1.継続的インテグレーションのメリット
    開発データの蓄積
    アクティビティ、ユーザの解析

    2.メリットを享受できていますか?
    マルチステージ型

    ・ソフトウェアの成熟度
    どんなプロセスでも段階的に

    3. ソフトウェアは
    ・このように段階的に構成された継続的インテグレーションを次のように呼びます。
    マルチステージ型の継続的インテグレーション

    4.

    マルチステージ型のメリット
    マルチステージに入れておく
    チーム内に限定する。

    ◯ AWで実現するSwlwniumの高速術
    MARKETING PLATFORM
    B to Bの支援
    勉強会、カンファレンスのイベントの受付

    Perl
    FastCGI

    Selenium

    独自テストツール

    Jmetar

    • > パフォーマンスのテスト

    AppScan

    • > セキュリティの自動テスト

    価値を生み出さないといけない

    Seleniumで落ちまくってた

    • > テストケースにデート?を書きまくった
    • > ページの準備が出来る前に走るのでコケる。

    assertionを繰り返す。
    sping assertd
    失敗したら繰り返す。

    htmlでテストケースはダメだ。
    svsn

    JavaからJavaScriptを実行できる。だいの?
    →最近ならnode.jsは?

    エラーで落ちた時にレポートをスクショで。

    test8
    サーバー側の負荷が高くてテスtがコケる