Your SlideShare is downloading. ×
0
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
邪道Jenkins
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

邪道Jenkins

17,210

Published on

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

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

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

Published in: Technology
0 Comments
58 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
17,210
On Slideshare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
88
Comments
0
Likes
58
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×