Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Jenkins on-mac

4,116 views

Published on

potatotips #12 (http://connpass.com/event/10283/)
での発表内容です。

Published in: Software
  • Sex in your area is here: ❤❤❤ http://bit.ly/2F4cEJi ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ♥♥♥ http://bit.ly/2F4cEJi ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Jenkins on-mac

  1. 1. potatotips#12 / @ginrou799 で http://jenkins-ci.org/ を使う
  2. 2. Who? • Yuichi Takeda (@ginrou799) • Works for 株式会社ミクシィ • iPhone開発がメイン • 年明けからスマホアプリ研修の公開版やるので
 良かったら参加してね!
  3. 3. iOS開発でビルド、どうしてますか? • Travis CI • OS X Server • Jenkins • 手元でビルド
  4. 4. iOS開発でビルド、どうしてますか? • Travis CI • OS X Server • Jenkins • 手元でビルド OS X上でJenkinsを運用するtipsについて紹介
  5. 5. 弊社での運用 • インストール・アップデート • jarをダウンロードして起動 • Daemon化はlaunchctlで • (今はhomebrewを使うほうが便利かも) • 構成 • 4台のmac miniでmaster-slave 構成
  6. 6. XcodeやOSのアップデート • 毎年の恒例行事 • iOS SDKも同時に更新されて突然ビルドが失敗する • プロジェクトごとにXcodeやOSバージョンを選択 • xcode-select • 一部のマシンのみ上げて検証する
  7. 7. GUIとVNC • OS XのアプリケーションはGUIが使えることを
 前提としたものが多い
  8. 8. ビルド中に すいませーん、ビルド止まっちゃったんですけど… お、何でだろう… ということでVNCでつないでみると
  9. 9. ビルド中に こういうダイアログが出て止まってた…
  10. 10. GUIとVNC • OS XのアプリケーションはGUIが使えることを
 前提としたものが多い • ということでGUIが操作できる環境が必要 • 席の近くに置いてく、遠隔地ならVNCが必須 • XcodeやOSのアップデートも例外でない
  11. 11. Yosemiteでslaveのjobが動かない • Yosemiteをslaveにあげてjobを実行すると
 
 
 と出てテストに失敗する • Travis CIでも同じトラブルが
 http://blog.travis-ci.com/2014-10-22-xcode-6-update-postmortem/ Test operation failure: Timed out waiting 120 seconds for simulator to boot, current state is 1.
  12. 12. Yosemiteでslaveのjobが動かない • 原因 • Jenkinsのslave jobはssh経由で実行 • MacのsshdがGUIを操作できない • 解決策 • このissueで議論されてる https://github.com/facebook/xctool/issues/404 • JNLPを使う • Userコンテキストでsshdを立てる (これで凌いでいます)
  13. 13. Jenkinsいいところ JenkinsにかぎらずCIで得られる恩恵は大きい • プルリクエストごとに自動テスト • マージされたら自動でビルドして配信
 DeployGateを使うと便利ですよ!!
  14. 14. Jenkinsいいところ 履歴が残る • 「こないだの申請どれでしたっけ?」が残る • 「このビルドのリビジョンどれだっけ」が残る 秘密 の管理がしやすい • 秘密 をインストールするマシンを限定して
 アクセスコントロール
  15. 15. まとめ • JenkinsをMac上で管理すると所々つまるところ がある • Jenkinsを運用して幸せなCIライフを!

×