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.

Drone.io のご紹介

30,636 views

Published on

http://connpass.com/event/12120/
はっぴょうしりょう

Published in: Technology
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/2Qu6Caa ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❶❶❶ http://bit.ly/2Qu6Caa ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Drone.io のご紹介

  1. 1. GMO Pepabo, Inc. 技術基盤チーム Advanced Senior 近藤うちお 2015/03/13 CIツール勉強会@福岡 Drone.ioのご紹介
  2. 2. こんにちは
  3. 3. me
  4. 4. Contributor of Drone.io
  5. 5. Drone.io
  6. 6. CIツール第三世代? > 第一: とにかく自動で実行する奴 > 第二: Jenkins > 第三: Travis-CI に代表される
 ・設定がyamlなどで簡潔
 ・ビルド環境をクリーンに都度作成
 なやつ
  7. 7. Drone.io > Hosting版とOSS版がある ! ! ! ! > https://drone.io/
  8. 8. 特徴 > 毎回ビルド環境をDockerで作る > サービスコンテナを別途立ち上げられる > 意外と豊富な外部サービス連携 > SlackやWebhook通知、s3やHerokuなどへの デプロイ > OSS/Apache License v2 > Go製/debやrpmも提供
  9. 9. 基本、Drone.io version 0.3の話をします
  10. 10. 導入の経緯
  11. 11. Jenkinsよ…… > CI自体は全社的に普及していた > しかし > 各チームでJenkinsを立てていてダブってる感 > 一部の人しか触れないJenkins > Jenkinsでは通るけどローカルでどうすれば良 いのか不明なテスト > などなど…
  12. 12. ナウいCIしたいんや! > 外部サービスは割と高額 > まずは効果検証のため導入したい > Drone.io ってのがあるよ? > 0.2ぐらいの頃は機能不足…… > 0.3になったらサクっと動いた
  13. 13. じゃあ、Drone.io しませんか
  14. 14. インストール
  15. 15. deb一発 ! ! > 事前にDockerを入れること > 実はDockerは同じホストでなくても良い > rpmはCentOS >= 7向けのようだ > 未検証… # Ubuntu, Debian wget downloads.drone.io/master/drone.deb sudo dpkg -i drone.deb
  16. 16. データベース > SQLite3, MySQL, PostgreSQL > SQLite3はさすがにテスト用っぽい のでMySQLかポスグレで > ペパボはMySQL
  17. 17. その他設定 > /etc/drone/drone.toml です > 詳細はドキュメント > デフォルトのコメントで空気は分かる…… > 環境変数でも良い > 不便だけど
  18. 18. リポジトリの設定 > GitHubなりGH:Eなり設定を有効化 > tomlに項目を追加し、 open=true をセット > ログイン > sync > enable > .drone.yml をプロジェクトルートに配置 してプッシュ→完了
  19. 19. .drone.yml 便利機能
  20. 20. ビルドイメージのカスタマイズ > 既存で用意されている言語 > ruby, php, node, go, erlangにdartも > バージョンのそろい方が微妙。
 Dockerfileはあるので自作で…… > → https://github.com/drone/drone/blob/master/shared/build/images.go#L174 > ないものは作ればいい > 2パターン > 全く独自にイメージを作る > bradrydzewski/base をベースに作る
  21. 21. ビルドのコツ > bradrydzewski/base ベースだと > デフォでrubyとかnode、build-essential、等入り > ubuntuユーザ > drone/* と言う名前でないと正しく使えない > 独自だと、結構自分で色々入れないといけな いっぽい(特にsocatコマンド) > Qiitaにもう書いちゃった… > 「OSS版 Drone.io を社内で使い始めてる話」
  22. 22. サービス立ち上げ > テストの実行に必要な外部サービスを指 定できる > MySQL、Redisなど有名どころは組み 込みでサポート ! ! > → https://github.com/drone/drone/blob/master/shared/build/images.go#L20 service: - mysql - redis - mongodb:2.2
  23. 23. 特別なサービスが必要なとき > 自分でコンテナを作って指定可能 > コンテナでは、EXPOSEで
 ポートを指定すれば検知してくれる > ポートフォワーディングに
 socat コマンドを使っている模様 service: - udzura/custom-mysql:5.6
  24. 24. 通知 > notify: ディレクティブで指定 > email(しょぼい……) > slack > hipchat > webhook
  25. 25. Webhook便利 > 組み込みの通知は、
 フォーマットがあまり柔軟じゃない > JSONを食べて別のサービスに渡す だけの簡単なproxyを書いた
  26. 26. JSONの様子 > Goで雑にWeb APIを書いた
  27. 27. デプロイ系 > publish: と deploy: がある > deploy > Heroku, CloudFoundry, 
 その他git repo, ssh > publish > s3/Swift, Azure, Github Release
  28. 28. s3に上げる > 雑に成果物をぶち上げる ! ! ! > 意外と便利 > AWS Keyはハードコードしなくても、
 settingで別途指定可能 publish: s3: acl: public-read region: ap-northeast-1 bucket: hoge-bucket access_key: $$AWS_KEY secret_key: $$AWS_SECRET source: hoge.zip target: hoge/production/$DRONE_BRANCH/ recursive: false when: branch: master
  29. 29. Dokkuにプッシュ > Heroku以外にも、git push がで きるということで利用 > 普通にプッシュすれば良い
  30. 30. when: 句 > ブランチ、pushした人、などで
 デプロイするしないを判定可能 publish: s3: acl: public-read region: ap-northeast-1 bucket: hoge-bucket access_key: $$AWS_KEY secret_key: $$AWS_SECRET source: hoge.zip target: hoge/production/$DRONE_BRANCH/ recursive: false when: branch: master
  31. 31. Hack: Capistrano…… > 対応してないので
 ビルドコマンド側の最後に…… script: # …… - '[ "${DRONE_BRANCH}" != "master" ] && exit 0' # master以外の場合この下は実行しないぞ! - sudo chown -R ubuntu:ubuntu /var/tmp/bundle - mkdir -p vendor - ln -s /var/tmp/bundle vendor/bundle - bundle install --path vendor/bundle - bundle exec cap production deploy ! cache: - /var/tmp/bundle
  32. 32. .drone.ymlの便利ドキュメント > https://godoc.org/ github.com/drone/drone/ shared/build/script#Build > godocやんけ…… > しかし一番詳しいし最新だ
  33. 33. 運用の実際
  34. 34. オンプレツール運用のイメージ > 基本厳しい > インストール困難 > 落ちてエンジニアが一日取られる > 大変ですね…… > 主にGitl○bと言うインストール型ツールが 培ったイメージ…ごにょごにょ
  35. 35. Drone.ioは? > インストール楽(1バイナリ最高) > ほぼ全く落ちない > Goって凄いんだな、と思わざるを得ない ……
  36. 36. とは言え > バグや機能不足はそれなりにある > 結構どんどん直る > マシンパワーは、まあ要るっすな …… 最近の LA の様子です
  37. 37. 困ってる/たこと
  38. 38. fdがリークしていた > https://github.com/drone/drone/ issues/644 > 定期的に再起動しないと、too many open files がめっちゃ出てた > 直った →
 https://github.com/drone/drone/ pull/762
  39. 39. ハードディスクが足りない! > イメージやコンテナもそうだが、 > 一番でかいのはファイルキャッシュ機能 > リポジトリ ブランチごとに残すので、
 github-flowだととんでもないことに > cronで定期的に消すように > GitHubのdelete webhookを検知してディレクトリ 消せばいいんじゃないかと思うが分散環境じゃ難しいか ……
  40. 40. 秘伝のスクリプト $ find /tmp/drone/*/*/*/* -type d -maxdepth 0 | # ディレクトリのみ > grep -v master | # master のキャッシュは消さない > xargs -n 5 --verbose rm -rf # 5件ずつじゃないと進 が…… これを毎週末回して解決(...)
  41. 41. 並列数/分散ビルド > workerを追加すればできる > デフォルトでは > 同ホストのdocker.sockを見る > 2つできる(ハードコード) > 同じエントリを追加すれば、エント リの数だけworkerを増やしてくれる
  42. 42. 8workerにする例
  43. 43. 分散で困ること > どのworkerでビルドするかは選べない > 独自イメージを使ってると
 全台で同期する必要が…… > インハウスなDocker registoryで解決するが
 それはそれで別の、ねえ… > Drone用のDockerfileをリポジトリ管理し、そ のCDをDroneで行う、みたいなのを考えている
  44. 44. 率直な感想
  45. 45. 強いマシンさえあれば何とかなる? > 運用自体はそこまで難しくない印象 > だいぶ地雷を踏み抜いた > LAは高いが、これ多分
 今も「実験的運用」なのでVM上で
 走らせてるからです……
  46. 46. テストのポータブル化が進む > これは非常に大きい > Jenkins上にしかない秘伝のタレを はがす > 手順がリポジトリに必ず入る > 再現可能なテストになる
  47. 47. テストがポータブルになると > 将来、「やっぱdroneだめだね…」 となっても、TravisCI/Wercker/ CircleCIなどへ移行するのは手間で はない > それが、とにかくまずDroneを入れ てみる最大のメリットと思う
  48. 48. 他の第三世代CIと比べて > CircleCIの方が使いやすいかも…… > 未経験なですが画面等を見た印象 > 最大の違いはオープンソース > 困ったらソースを見れば良い
  49. 49. 困ったらソースを
 見れば良い
  50. 50. 便利
  51. 51. 総括
  52. 52. CIをナウくしたいなら > Drone.ioは参入障壁が低い > OSSで無料です
  53. 53. CIをナウくしたいなら > Drone.ioは参入障壁が低い > OSSで無料です > まあ、余ったサーバがあればだけど…… > まあ、Dockerの扱いにある程度慣れていれ ば…… > まあ、Goのコードをある程度(ry
  54. 54. 自信があるんなら いいんじゃないすかね……
  55. 55. テストのポータブル化が重要 > ツールでやりたいのは、そういうこと > 秘伝のタレはがし > 手順をリポジトリに入れる > クリーンな環境で通るようにする > そういう意味では、Drone.io は
 良いきっかけになるのでは?
  56. 56. 記事広告
  57. 57. Drone.ioを全力で使える仕事あります > GMOペパボは
 福岡/東京ともにエンジニアを
 募集中です。 > アプリケーション/インフラ両方です! > 詳細は:
 http://pepabo.com/recruit/ career/
  58. 58. 注目の求人 minne 基盤エンジニア
  59. 59. ペパランチョン > カジュアルにエンジニアの話を聞ける制度です
 福岡ではガレリア様のご協力のもと開催中! http://pepabo.com/recruit/pepaluncheon/
  60. 60. ご清聴 ありがとうございました!

×