Submit Search
Upload
Drone.io のご紹介
•
84 likes
•
32,164 views
Uchio Kondo
Follow
http://connpass.com/event/12120/ はっぴょうしりょう
Read less
Read more
Technology
Report
Share
Report
Share
1 of 66
Download now
Download to read offline
Recommended
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
例外設計における大罪
例外設計における大罪
Takuto Wada
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
Takuya Ueda
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
啓 杉本
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
Recommended
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
例外設計における大罪
例外設計における大罪
Takuto Wada
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
Takuya Ueda
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
啓 杉本
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
"Simple Made Easy" Made Easy
"Simple Made Easy" Made Easy
Kent Ohashi
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
Takuto Wada
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
TaishiYamada1
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
こわくない Git
こわくない Git
Kota Saito
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
Yahoo!デベロッパーネットワーク
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
shigeyuki azuchi
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
More Related Content
What's hot
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
"Simple Made Easy" Made Easy
"Simple Made Easy" Made Easy
Kent Ohashi
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
Takuto Wada
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
TaishiYamada1
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
こわくない Git
こわくない Git
Kota Saito
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
Yahoo!デベロッパーネットワーク
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
What's hot
(20)
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
暗号技術の実装と数学
暗号技術の実装と数学
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
PHP AST 徹底解説
PHP AST 徹底解説
"Simple Made Easy" Made Easy
"Simple Made Easy" Made Easy
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
Twitterのsnowflakeについて
Twitterのsnowflakeについて
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
こわくない Git
こわくない Git
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Viewers also liked
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
shigeyuki azuchi
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
maebashi
Dockerの利用事例
Dockerの利用事例
maebashi
モニタリングシステムのこれまでとこれから (2015-01-30)
モニタリングシステムのこれまでとこれから (2015-01-30)
YOSHIKAWA Ryota
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
Light and shadow of microservices
Light and shadow of microservices
Nobuhiro Sue
Viewers also liked
(7)
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
捕鯨!詳解docker
捕鯨!詳解docker
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
Dockerの利用事例
Dockerの利用事例
モニタリングシステムのこれまでとこれから (2015-01-30)
モニタリングシステムのこれまでとこれから (2015-01-30)
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Light and shadow of microservices
Light and shadow of microservices
Similar to Drone.io のご紹介
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
Masahito Zembutsu
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
atk1234
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
Kotaro Noyama
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
Masahide Yamamoto
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
Niigata.pm #1
Niigata.pm #1
hayajo Imai
Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化
hiroyuki nakajima
Hacking Vox and Plagger
Hacking Vox and Plagger
Tatsuhiko Miyagawa
Sakura no-yuube-20140327
Sakura no-yuube-20140327
Kunihiro TANAKA
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
Masahito Zembutsu
Docker講習会資料
Docker講習会資料
teruyaono1
Sinatra and heroku for mac
Sinatra and heroku for mac
Naoyuki Mitsuboshi
ふつうのLinuxプログラミング
ふつうのLinuxプログラミング
Shuhei KONDO
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
Satoshi Kume
Docker Swarm入門
Docker Swarm入門
Masahito Zembutsu
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
Similar to Drone.io のご紹介
(20)
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Building production server on docker
Building production server on docker
Building production server on docker
Building production server on docker
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
Niigata.pm #1
Niigata.pm #1
Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化
Hacking Vox and Plagger
Hacking Vox and Plagger
Sakura no-yuube-20140327
Sakura no-yuube-20140327
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
Docker講習会資料
Docker講習会資料
Sinatra and heroku for mac
Sinatra and heroku for mac
ふつうのLinuxプログラミング
ふつうのLinuxプログラミング
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
Docker Swarm入門
Docker Swarm入門
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
More from Uchio Kondo
人間たちとsystemd
人間たちとsystemd
Uchio Kondo
ペパボのサービスとRuby
ペパボのサービスとRuby
Uchio Kondo
minneで学ぶクラウド脳
minneで学ぶクラウド脳
Uchio Kondo
Ruby way-openstack.keynote
Ruby way-openstack.keynote
Uchio Kondo
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Uchio Kondo
Puppet of-2015-forupload
Puppet of-2015-forupload
Uchio Kondo
Hashicorpツールズ
Hashicorpツールズ
Uchio Kondo
Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?
Uchio Kondo
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
Uchio Kondo
Testing in Sinatra
Testing in Sinatra
Uchio Kondo
Start-padrino
Start-padrino
Uchio Kondo
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
Uchio Kondo
otomodachi-kakumei
otomodachi-kakumei
Uchio Kondo
More from Uchio Kondo
(13)
人間たちとsystemd
人間たちとsystemd
ペパボのサービスとRuby
ペパボのサービスとRuby
minneで学ぶクラウド脳
minneで学ぶクラウド脳
Ruby way-openstack.keynote
Ruby way-openstack.keynote
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Puppet of-2015-forupload
Puppet of-2015-forupload
Hashicorpツールズ
Hashicorpツールズ
Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
Testing in Sinatra
Testing in Sinatra
Start-padrino
Start-padrino
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
otomodachi-kakumei
otomodachi-kakumei
Recently uploaded
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Recently uploaded
(12)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Drone.io のご紹介
1.
GMO Pepabo, Inc. 技術基盤チーム
Advanced Senior 近藤うちお 2015/03/13 CIツール勉強会@福岡 Drone.ioのご紹介
2.
こんにちは
3.
me
4.
5.
6.
7.
8.
Contributor of Drone.io
9.
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 しませんか
19.
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 now