Upload
Download free for 30 days
Login
Submit Search
Drone.io のご紹介
84 likes
32,192 views
Uchio Kondo
http://connpass.com/event/12120/ はっぴょうしりょう
Technology
Read more
1 of 66
Download now
Downloaded 41 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
More Related Content
PDF
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
PDF
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
Recruit Lifestyle Co., Ltd.
PDF
[DL輪読会]data2vec: A General Framework for Self-supervised Learning in Speech,...
Deep Learning JP
PDF
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
PDF
Where狙いのキー、order by狙いのキー
yoku0825
PDF
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
PDF
機械学習で泣かないためのコード設計
Takahiro Kubo
PPTX
やってはいけない空振りDelete
Yu Yamada
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
Recruit Lifestyle Co., Ltd.
[DL輪読会]data2vec: A General Framework for Self-supervised Learning in Speech,...
Deep Learning JP
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
Where狙いのキー、order by狙いのキー
yoku0825
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
機械学習で泣かないためのコード設計
Takahiro Kubo
やってはいけない空振りDelete
Yu Yamada
What's hot
(20)
PPTX
物体検出の歴史(R-CNNからSSD・YOLOまで)
HironoriKanazawa
PDF
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
PDF
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
Deep Learning JP
PDF
Python入門 : 4日間コース社内トレーニング
Yuichi Ito
PDF
Webアプリを並行開発する際のマイグレーション戦略
Takayuki Shimizukawa
PDF
Dockerを支える技術
Etsuji Nakai
PDF
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
PDF
Deeplearning輪読会
正志 坪坂
PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
PDF
Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015
CODE BLUE
PDF
MySQLで論理削除と正しく付き合う方法
yoku0825
PDF
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
PDF
生成モデルの Deep Learning
Seiya Tokui
PDF
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII
PDF
明日使えないすごいビット演算
京大 マイコンクラブ
PPTX
DockerコンテナでGitを使う
Kazuhiro Suga
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
PDF
きつねさんでもわかるLlvm読書会 第2回
Tomoya Kawanishi
PDF
Pythonによる黒魔術入門
大樹 小倉
物体検出の歴史(R-CNNからSSD・YOLOまで)
HironoriKanazawa
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
Deep Learning JP
Python入門 : 4日間コース社内トレーニング
Yuichi Ito
Webアプリを並行開発する際のマイグレーション戦略
Takayuki Shimizukawa
Dockerを支える技術
Etsuji Nakai
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
Deeplearning輪読会
正志 坪坂
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015
CODE BLUE
MySQLで論理削除と正しく付き合う方法
yoku0825
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
生成モデルの Deep Learning
Seiya Tokui
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII
明日使えないすごいビット演算
京大 マイコンクラブ
DockerコンテナでGitを使う
Kazuhiro Suga
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
きつねさんでもわかるLlvm読書会 第2回
Tomoya Kawanishi
Pythonによる黒魔術入門
大樹 小倉
Ad
Viewers also liked
(7)
PPTX
Jenkinsとamazon ecsで コンテナCI
shigeyuki azuchi
PDF
捕鯨!詳解docker
雄哉 吉田
PDF
Dockerの仕組みとIIJ社内での利用例
maebashi
PDF
Dockerの利用事例
maebashi
PDF
モニタリングシステムのこれまでとこれから (2015-01-30)
YOSHIKAWA Ryota
PDF
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
PDF
Light and shadow of microservices
Nobuhiro Sue
Jenkinsとamazon ecsで コンテナCI
shigeyuki azuchi
捕鯨!詳解docker
雄哉 吉田
Dockerの仕組みとIIJ社内での利用例
maebashi
Dockerの利用事例
maebashi
モニタリングシステムのこれまでとこれから (2015-01-30)
YOSHIKAWA Ryota
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
Light and shadow of microservices
Nobuhiro Sue
Ad
Similar to Drone.io のご紹介
(20)
PDF
Bitbucket Pipelinesについて
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
PDF
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
PDF
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
Masaya Aoyama
KEY
SnapDishの事例
Fumikazu Kiyota
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
PDF
Ansible の CI を drone/Dokcker で試してみた
Kenta Nishimura
PDF
真Drone入門
Yutaka Matsubara
PDF
cloudstack devcloud
Kimihiko Kitase
PDF
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
PPTX
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
ANNAI_LLC
PDF
Azure DevOps と開発管理
Tsukasa Kato
PDF
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
PDF
Mina 20130417
Naotoshi Seo
PDF
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
Amazon Web Services Japan
PDF
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
decode2016
PDF
Devops @ Gengo -- AWS日本語初会議
Matthew Romaine
PDF
2014_0206 aws startup_tech
Yosuke Tomita
PPTX
オープンソースによるドローン開発の概要( #ABC2015S )
博宣 今村
PDF
What i feel when began use AWS CodePipeline as GitLab Ci user
Yukiya Hayashi
PPTX
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
博宣 今村
Bitbucket Pipelinesについて
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
Masaya Aoyama
SnapDishの事例
Fumikazu Kiyota
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
Ansible の CI を drone/Dokcker で試してみた
Kenta Nishimura
真Drone入門
Yutaka Matsubara
cloudstack devcloud
Kimihiko Kitase
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
ANNAI_LLC
Azure DevOps と開発管理
Tsukasa Kato
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
Mina 20130417
Naotoshi Seo
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
Amazon Web Services Japan
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
decode2016
Devops @ Gengo -- AWS日本語初会議
Matthew Romaine
2014_0206 aws startup_tech
Yosuke Tomita
オープンソースによるドローン開発の概要( #ABC2015S )
博宣 今村
What i feel when began use AWS CodePipeline as GitLab Ci user
Yukiya Hayashi
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
博宣 今村
More from Uchio Kondo
(13)
PDF
人間たちとsystemd
Uchio Kondo
PDF
ペパボのサービスとRuby
Uchio Kondo
PDF
minneで学ぶクラウド脳
Uchio Kondo
PDF
Ruby way-openstack.keynote
Uchio Kondo
PDF
インフラ自動化とHashicorp tools
Uchio Kondo
PDF
Puppet of-2015-forupload
Uchio Kondo
PDF
Hashicorpツールズ
Uchio Kondo
PDF
Consul は 全自動オーケストレーションの 夢を見るか?
Uchio Kondo
PDF
ペパボ福岡支社におけるRubyの活用事例
Uchio Kondo
PDF
Testing in Sinatra
Uchio Kondo
PDF
Start-padrino
Uchio Kondo
PDF
Rubyist started to learn Groovy - things important to leran new LL
Uchio Kondo
PDF
otomodachi-kakumei
Uchio Kondo
人間たちとsystemd
Uchio Kondo
ペパボのサービスとRuby
Uchio Kondo
minneで学ぶクラウド脳
Uchio Kondo
Ruby way-openstack.keynote
Uchio Kondo
インフラ自動化とHashicorp tools
Uchio Kondo
Puppet of-2015-forupload
Uchio Kondo
Hashicorpツールズ
Uchio Kondo
Consul は 全自動オーケストレーションの 夢を見るか?
Uchio Kondo
ペパボ福岡支社におけるRubyの活用事例
Uchio Kondo
Testing in Sinatra
Uchio Kondo
Start-padrino
Uchio Kondo
Rubyist started to learn Groovy - things important to leran new LL
Uchio Kondo
otomodachi-kakumei
Uchio Kondo
Drone.io のご紹介
1.
GMO Pepabo, Inc. 技術基盤チーム
Advanced Senior 近藤うちお 2015/03/13 CIツール勉強会@福岡 Drone.ioのご紹介
2.
こんにちは
3.
me
8.
Contributor of Drone.io
10.
Drone.io
11.
CIツール第三世代? > 第一: とにかく自動で実行する奴 >
第二: Jenkins > 第三: Travis-CI に代表される ・設定がyamlなどで簡潔 ・ビルド環境をクリーンに都度作成 なやつ
12.
Drone.io > Hosting版とOSS版がある ! ! ! ! > https://drone.io/
13.
特徴 > 毎回ビルド環境をDockerで作る > サービスコンテナを別途立ち上げられる >
意外と豊富な外部サービス連携 > SlackやWebhook通知、s3やHerokuなどへの デプロイ > OSS/Apache License v2 > Go製/debやrpmも提供
14.
基本、Drone.io version 0.3の話をします
15.
導入の経緯
16.
Jenkinsよ…… > CI自体は全社的に普及していた > しかし >
各チームでJenkinsを立てていてダブってる感 > 一部の人しか触れないJenkins > Jenkinsでは通るけどローカルでどうすれば良 いのか不明なテスト > などなど…
17.
ナウいCIしたいんや! > 外部サービスは割と高額 > まずは効果検証のため導入したい >
Drone.io ってのがあるよ? > 0.2ぐらいの頃は機能不足…… > 0.3になったらサクっと動いた
18.
じゃあ、Drone.io しませんか
20.
インストール
21.
deb一発 ! ! > 事前にDockerを入れること > 実はDockerは同じホストでなくても良い >
rpmはCentOS >= 7向けのようだ > 未検証… # Ubuntu, Debian wget downloads.drone.io/master/drone.deb sudo dpkg -i drone.deb
22.
データベース > SQLite3, MySQL,
PostgreSQL > SQLite3はさすがにテスト用っぽい のでMySQLかポスグレで > ペパボはMySQL
23.
その他設定 > /etc/drone/drone.toml です >
詳細はドキュメント > デフォルトのコメントで空気は分かる…… > 環境変数でも良い > 不便だけど
24.
リポジトリの設定 > GitHubなりGH:Eなり設定を有効化 > tomlに項目を追加し、
open=true をセット > ログイン > sync > enable > .drone.yml をプロジェクトルートに配置 してプッシュ→完了
25.
.drone.yml 便利機能
26.
ビルドイメージのカスタマイズ > 既存で用意されている言語 > ruby,
php, node, go, erlangにdartも > バージョンのそろい方が微妙。 Dockerfileはあるので自作で…… > → https://github.com/drone/drone/blob/master/shared/build/images.go#L174 > ないものは作ればいい > 2パターン > 全く独自にイメージを作る > bradrydzewski/base をベースに作る
27.
ビルドのコツ > bradrydzewski/base ベースだと >
デフォでrubyとかnode、build-essential、等入り > ubuntuユーザ > drone/* と言う名前でないと正しく使えない > 独自だと、結構自分で色々入れないといけな いっぽい(特にsocatコマンド) > Qiitaにもう書いちゃった… > 「OSS版 Drone.io を社内で使い始めてる話」
28.
サービス立ち上げ > テストの実行に必要な外部サービスを指 定できる > MySQL、Redisなど有名どころは組み 込みでサポート ! ! >
→ https://github.com/drone/drone/blob/master/shared/build/images.go#L20 service: - mysql - redis - mongodb:2.2
29.
特別なサービスが必要なとき > 自分でコンテナを作って指定可能 > コンテナでは、EXPOSEで ポートを指定すれば検知してくれる >
ポートフォワーディングに socat コマンドを使っている模様 service: - udzura/custom-mysql:5.6
30.
通知 > notify: ディレクティブで指定 >
email(しょぼい……) > slack > hipchat > webhook
31.
Webhook便利 > 組み込みの通知は、 フォーマットがあまり柔軟じゃない > JSONを食べて別のサービスに渡す だけの簡単なproxyを書いた
32.
JSONの様子 > Goで雑にWeb APIを書いた
33.
デプロイ系 > publish: と
deploy: がある > deploy > Heroku, CloudFoundry, その他git repo, ssh > publish > s3/Swift, Azure, Github Release
34.
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
35.
Dokkuにプッシュ > Heroku以外にも、git push
がで きるということで利用 > 普通にプッシュすれば良い
36.
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
37.
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
38.
.drone.ymlの便利ドキュメント > https://godoc.org/ github.com/drone/drone/ shared/build/script#Build > godocやんけ…… >
しかし一番詳しいし最新だ
39.
運用の実際
40.
オンプレツール運用のイメージ > 基本厳しい > インストール困難 >
落ちてエンジニアが一日取られる > 大変ですね…… > 主にGitl○bと言うインストール型ツールが 培ったイメージ…ごにょごにょ
41.
Drone.ioは? > インストール楽(1バイナリ最高) > ほぼ全く落ちない >
Goって凄いんだな、と思わざるを得ない ……
42.
とは言え > バグや機能不足はそれなりにある > 結構どんどん直る >
マシンパワーは、まあ要るっすな …… 最近の LA の様子です
43.
困ってる/たこと
44.
fdがリークしていた > https://github.com/drone/drone/ issues/644 > 定期的に再起動しないと、too
many open files がめっちゃ出てた > 直った → https://github.com/drone/drone/ pull/762
45.
ハードディスクが足りない! > イメージやコンテナもそうだが、 > 一番でかいのはファイルキャッシュ機能 >
リポジトリ ブランチごとに残すので、 github-flowだととんでもないことに > cronで定期的に消すように > GitHubのdelete webhookを検知してディレクトリ 消せばいいんじゃないかと思うが分散環境じゃ難しいか ……
46.
秘伝のスクリプト $ find /tmp/drone/*/*/*/*
-type d -maxdepth 0 | # ディレクトリのみ > grep -v master | # master のキャッシュは消さない > xargs -n 5 --verbose rm -rf # 5件ずつじゃないと進 が…… これを毎週末回して解決(...)
47.
並列数/分散ビルド > workerを追加すればできる > デフォルトでは >
同ホストのdocker.sockを見る > 2つできる(ハードコード) > 同じエントリを追加すれば、エント リの数だけworkerを増やしてくれる
48.
8workerにする例
49.
分散で困ること > どのworkerでビルドするかは選べない > 独自イメージを使ってると 全台で同期する必要が…… >
インハウスなDocker registoryで解決するが それはそれで別の、ねえ… > Drone用のDockerfileをリポジトリ管理し、そ のCDをDroneで行う、みたいなのを考えている
50.
率直な感想
51.
強いマシンさえあれば何とかなる? > 運用自体はそこまで難しくない印象 > だいぶ地雷を踏み抜いた >
LAは高いが、これ多分 今も「実験的運用」なのでVM上で 走らせてるからです……
52.
テストのポータブル化が進む > これは非常に大きい > Jenkins上にしかない秘伝のタレを はがす >
手順がリポジトリに必ず入る > 再現可能なテストになる
53.
テストがポータブルになると > 将来、「やっぱdroneだめだね…」 となっても、TravisCI/Wercker/ CircleCIなどへ移行するのは手間で はない > それが、とにかくまずDroneを入れ てみる最大のメリットと思う
54.
他の第三世代CIと比べて > CircleCIの方が使いやすいかも…… > 未経験なですが画面等を見た印象 >
最大の違いはオープンソース > 困ったらソースを見れば良い
55.
困ったらソースを 見れば良い
56.
便利
57.
総括
58.
CIをナウくしたいなら > Drone.ioは参入障壁が低い > OSSで無料です
59.
CIをナウくしたいなら > Drone.ioは参入障壁が低い > OSSで無料です >
まあ、余ったサーバがあればだけど…… > まあ、Dockerの扱いにある程度慣れていれ ば…… > まあ、Goのコードをある程度(ry
60.
自信があるんなら いいんじゃないすかね……
61.
テストのポータブル化が重要 > ツールでやりたいのは、そういうこと > 秘伝のタレはがし >
手順をリポジトリに入れる > クリーンな環境で通るようにする > そういう意味では、Drone.io は 良いきっかけになるのでは?
62.
記事広告
63.
Drone.ioを全力で使える仕事あります > GMOペパボは 福岡/東京ともにエンジニアを 募集中です。 > アプリケーション/インフラ両方です! >
詳細は: http://pepabo.com/recruit/ career/
64.
注目の求人 minne 基盤エンジニア
65.
ペパランチョン > カジュアルにエンジニアの話を聞ける制度です 福岡ではガレリア様のご協力のもと開催中! http://pepabo.com/recruit/pepaluncheon/
66.
ご清聴 ありがとうございました!
Download