• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
邪道Jenkins
 

邪道Jenkins

on

  • 15,982 views

12/22 プログラミング生放送勉強会 第19回@品川 で、お話させて頂いた内容です。

12/22 プログラミング生放送勉強会 第19回@品川 で、お話させて頂いた内容です。

http://hazi.jp/2012-12/2203/

Statistics

Views

Total Views
15,982
Views on SlideShare
8,707
Embed Views
7,275

Actions

Likes
49
Downloads
81
Comments
0

21 Embeds 7,275

http://hazi.jp 6967
http://pgmy.biz 126
http://notes.shuntak.net 39
https://twitter.com 30
http://digg.com 29
http://flavors.me 25
http://s.deeeki.com 19
http://jp.flavors.me 8
http://de.flavors.me 7
http://hazisarashi.flavors.me 5
http://translate.googleusercontent.com 3
http://157.109.86.99 3
http://webcache.googleusercontent.com 3
http://mym.corp.yahoo.co.jp 3
http://www.twylah.com 2
http://sc.dotbranch.com 1
https://www.google.co.jp 1
https://www.chatwork.com 1
http://platform.twitter.com 1
http://fr.flavors.me 1
http://pt.flavors.me 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    邪道Jenkins 邪道Jenkins Presentation Transcript

    • 邪道Jenkins
    • 自己紹介向山 雄平(HAZI)仕事 : 社内システムの開発, デザイナー開発 : Javascript, Perl, Ruby, FileMakerTwitter : @HAZIBlog : http://hazi.jp
    • ニコニコでの活動OS X 用 Dashboard Widget 色々高機能 ニコ生RSS 読み込み部はかなり作るこ んであるので、興味のある方はソース 見てみて! 2011年末開発終了 し いよ !! 一応動 くら
    • ニコニコでの活動動画制作 sm14157281 エフェクト系担当 Motion, Final Cut Pro
    • ニコニコでの活動プロ生のお手伝い プロ生ちゃんスタンプ 受付のシステム開発 東京ではほぼ欠かさず参加
    • 今回の内容#1 Jenkinsとは#2 王道なJenkinsの使い方#3 邪道なJenkinsの使い方#4 まともな邪道Jenkinsの使い方※ごめんなさい初心者向けです。
    • #1Jenkinsとは?
    • • 旧名 Hudson• Javaベース• CI Tool(継続的インテグレーションツール) じぇんきんすじぃ
    • CI Tool?なにそれ
    • 主にプログラマーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことである。by http://ja.wikipedia.org/wiki/継続的インテグレーション いわゆる最近はやりのアジャイル系
    • なるほどよくわからん
    • 具体的には?
    • #2王道Jenkins
    • 例えば、Gitでバージョン管理しているような場合1. 開発する。2. ローカルテストに成功したらサーバにpushする3. Jenkinsがpushされたことを自動的に確認4. ビルド・詳細テストを自動的に実行• 失敗したらメールで連絡• 成功したら本番環境にデプロイ
    • 処理を自動的に実行
    • 忘れない。何かあってもすぐに気付ける。
    • 継続的に品質保持が出来る
    • 王道Jenkins = 意識高い
    • Jenkins =
    • 多分そういうこと
    • #3邪道Jenkins
    • 邪道ってなんだ?
    • Jenkins = CIツール
    • CIツールとして使わないJenkins 邪道Jenkins
    • そもそも Jenkins は何が出来るのか• タイマーなどでのタスク実行• それに、WebUI と APIと、プラグイン機能を追加• プラグインは 600個以上• マルチプラットフォーム対応(Win, Mac, Linux)• スレーブが作れる
    • Jenkins = すごいCrontab ※ CrontabはUNIX系のタイマーでタスクを実行するためのツールです
    • すごい Crontab って言われると なんだか使えそうじゃない?
    • すごい Crontabを使うとどんなこ とが出来るの?
    • Case 1 🕔スマホで外出先からも操作出来る 目覚まし欲しいなぁ
    • Case 1 🕔すごいCrontabにお任せ!
    • Case 1 🕔•Jenkinsに登録したタイマーでパソコンから大音量の音楽を再生•タイマーの時間は、WebUIから変更可能•突然の外泊でもスマホからタイマーを止められる!•アラームと同時にメールを飛ばせば、止め忘れ防止にも。 ※ 電気代のことを気にしたら負け
    • Case 2 上司から不定期にメールで報告を求 められて、対応が面倒くさい…。
    • Case 2 すごいCrontabにお任せ!
    • Case 2 •例えば集計結果をメールするだけなら、•定期的にメールをチェックして、報告依頼メールをパターンマッチング•報告依頼メールが来たら、集計を実行し結果を出力•そのままJenkinsから自動的に上司にメールを送信!
    • Case 3 Instagram的なサービス作りたい!でもグラフィック系のコード書けな い…。
    • Case 3 すごいCrontabにお任せ!
    • Case 3 •Photoshopで写真を加工するマクロ作る•WebサーバアプリからJenkinsのAPIを使って、そのマクロを実行して画像を作らせる•アクセスが増えても、スレーブの台数を増やせばいい
    • #4まともな邪道Jenkins
    • リモートコンパイラ
    • • iPad などコンパイラの無い環境でコーディング • Dropbox で Mac と同期 • Mac に Jenkins を入れておき • WebUI から Jenkins でテスト・コンパイル実行masuidriveさんが実際にやられてました。http://blog.masuidrive.jp/index.php/2012/12/02/ipad-mini-codeeditor/
    • お仕事のお話
    • • FileMaker Pro で業務システムの開発• バッチ処理がたくさん• Macを何台も用意して Crontab(LaunchAgent) で定期的に実行 ※ FileMaker Pro = MS Access 的な UIとDBを一緒にしたアプリケーション。 作ったものがiPadでも実行出来て最近注目を浴びている。
    • ※ 会社のMac mini 達
    • 監視が結構大変
    • FileMaker外部連携用の APIとか無い。監視ツールとか難しい。
    • 問題点• 1個のOSで1つしか同時に実行出来ない• 必然的に台数が増える• 1つのタスクの実行を変更すると関連するタスクの修正を、複数 台にまたがって行う必要がある• 複数台にまたがる場合は余裕を見てバッチをセットしたり• エラーで止まっても気づかなかったり
    • そこですごいCrontab
    • マスタで一元管理が出来る• 複数台のマシンをスレーブとして簡単に登録出来 る。• タスクの管理もWebUIから。• 過去どのマシンでどういった実行が行われたかが 確認できる。• 実行するマシンはタグなどで指定出来る。
    • 実行するスクリプトもGitで管理• タスクを実行するたびにJenkinsがワークスペー スを作成し、チェックアウトしてくれる。• スクリプトを更新しても、各マシンに手動でリリ ースしないくていい。• 事前準備が、FileMakerのインストールと、 Jenkinsへの登録のみ。
    • 複数のタスクを同時に実行可能• 例えば、マスタデータの更新完了後に5台に分け てバッチ処理を同時に実行出来る• Linuxなどでのタスク終了ごに、FileMakerを実行 することも可能。
    • エラーが起きるとプロセスを切ってくれる• FileMakerはエラーが起きると止まってしまう。• でも、Jenkinsにエラー信号を返してあげると、 その間作られたプロセスすべてを殺してくれる。• 止まったFileMakerも勝手に殺される。
    • まとめ
    • Jenkins はインストールが本当に楽
    • 設定もWebUIから出来る
    • スレーブ作るのも簡単