SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
ネタ募集箱を支える技術 開発環境編
Report
Daisuke Shimada
Follow
Development Division, AltPlus Lab Fellow at Altplus Inc.
Jan. 25, 2016
•
0 likes
•
1,337 views
1
of
77
ネタ募集箱を支える技術 開発環境編
Jan. 25, 2016
•
0 likes
•
1,337 views
Download Now
Download to read offline
Report
Technology
ネタ募集箱というちょっとしたプロジェクトを作るなかでいろいろな技術を使ってみたのでまとめてみました。
Daisuke Shimada
Follow
Development Division, AltPlus Lab Fellow at Altplus Inc.
Recommended
Kernel vm13lt
slankdev
637 views
•
20 slides
OSC2017Hokkaido
slankdev
618 views
•
16 slides
NCSA httpdとCGIの思い出
Mitsunori Satomi
402 views
•
14 slides
Seccamp 2016 チューター成果報告
slankdev
3.1K views
•
28 slides
サイボウズ・ラボユース中間報告会
slankdev
670 views
•
34 slides
Motpy ros rosjp
RayAr3
1.1K views
•
10 slides
More Related Content
What's hot
Seurity Camp Award 2016
slankdev
1.1K views
•
41 slides
GoでEPC作って本番運用している話
雄也 日下部
1.2K views
•
49 slides
New Relic with PHP
Hiroyuki Yamaoka
17.9K views
•
35 slides
鹿児島Linux勉強会2016.04
Kenichiro MATOHARA
607 views
•
4 slides
LibPGEN 1st Step Guide
slankdev
736 views
•
41 slides
コンテナホスティングサービス「jaisting」開発に至るまで
Tatsuya Yagi
363 views
•
16 slides
What's hot
(12)
Seurity Camp Award 2016
slankdev
•
1.1K views
GoでEPC作って本番運用している話
雄也 日下部
•
1.2K views
New Relic with PHP
Hiroyuki Yamaoka
•
17.9K views
鹿児島Linux勉強会2016.04
Kenichiro MATOHARA
•
607 views
LibPGEN 1st Step Guide
slankdev
•
736 views
コンテナホスティングサービス「jaisting」開発に至るまで
Tatsuya Yagi
•
363 views
Building Static Website With Github And Jekyll
Yoji Shidara
•
1.8K views
20220412 IoTLT vol86 kitazaki v1
Ayachika Kitazaki
•
287 views
OSC2016 Tokyo/Spring セミナー資料
slankdev
•
3.7K views
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
雄也 日下部
•
2K views
フルスクラッチ自作OS(OS5)の紹介
Yuma Ohgami
•
1.1K views
15.06.27 実録 ソフトウェア開発者が FPGAを独習した最初の3歩@RTLを語る会(9)
Kei Nakazawa
•
11.9K views
Similar to ネタ募集箱を支える技術 開発環境編
Arduino compatible layer (with 6LoWPAN) on Contiki
裕士 常田
2.7K views
•
10 slides
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
18.9K views
•
64 slides
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
Shinya Takamaeda-Y
6.3K views
•
16 slides
2018/12/5 SIerIoTLT vol.13 by kitazaki
Ayachika Kitazaki
440 views
•
22 slides
見える!「IoT」NefryでJenkinsのXFD作ってみた
Tone Blue
651 views
•
30 slides
Iotlt 28 HoloLensに日本語聞いてもらいたい
Masaki Yamamoto
1.2K views
•
15 slides
Similar to ネタ募集箱を支える技術 開発環境編
(20)
Arduino compatible layer (with 6LoWPAN) on Contiki
裕士 常田
•
2.7K views
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
•
18.9K views
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
Shinya Takamaeda-Y
•
6.3K views
2018/12/5 SIerIoTLT vol.13 by kitazaki
Ayachika Kitazaki
•
440 views
見える!「IoT」NefryでJenkinsのXFD作ってみた
Tone Blue
•
651 views
Iotlt 28 HoloLensに日本語聞いてもらいたい
Masaki Yamamoto
•
1.2K views
WebRTC mediasoup on raspberrypi3
mganeko
•
2.3K views
VRアバターをモバイルARでより身近に! Vismuth
Takumi Ito
•
1.4K views
一年ツイッター
XMLProJ2014
•
687 views
OSC Nagoya NETMF 160528
Atomu Hidaka
•
217 views
160531 IoT LT #15 @ 日本IBM
Toshiki Tsuboi
•
2.8K views
Riscv+fpga200606
たけおか しょうぞう
•
668 views
20201028 Visual IoTLT vol.5 kitazaki
Ayachika Kitazaki
•
189 views
量子コンピュータでニューラルネットワークな論文紹介
Takatomo Torigoe
•
1.8K views
20181129 iotlt vol45 by kitazaki
Ayachika Kitazaki
•
644 views
OSSはどこまで産業用機器に使えるか_20230520.pdf
Kioto Hirahara
•
379 views
IoT ALGYAN ハンズオンのソースコード解説します
Yoshitaka Seo
•
230 views
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM,INC
•
287 views
Security.gs fes 2010 in tokyo
Ren Sakamoto
•
440 views
Quantum teleportation
YuuOkano
•
1.2K views
More from Daisuke Shimada
ブロックチェーンの基礎を学び、未来に活かす。
Daisuke Shimada
6.1K views
•
82 slides
既存システムに対するブロックチェーン適用の検証と考察
Daisuke Shimada
3.3K views
•
47 slides
Dockerことはじめ
Daisuke Shimada
6K views
•
52 slides
ITエンジニアのための機械学習理論入門8.1ベイズ推定
Daisuke Shimada
4.8K views
•
64 slides
Ml4se 2 2_slideshare
Daisuke Shimada
1.4K views
•
28 slides
悩めるWindowsインストーラ制作者の道しるべ
Daisuke Shimada
590 views
•
44 slides
More from Daisuke Shimada
(7)
ブロックチェーンの基礎を学び、未来に活かす。
Daisuke Shimada
•
6.1K views
既存システムに対するブロックチェーン適用の検証と考察
Daisuke Shimada
•
3.3K views
Dockerことはじめ
Daisuke Shimada
•
6K views
ITエンジニアのための機械学習理論入門8.1ベイズ推定
Daisuke Shimada
•
4.8K views
Ml4se 2 2_slideshare
Daisuke Shimada
•
1.4K views
悩めるWindowsインストーラ制作者の道しるべ
Daisuke Shimada
•
590 views
悩めるWindowsユーザーの為のコマンドライン入門
Daisuke Shimada
•
1.8K views
Recently uploaded
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
45 views
•
38 slides
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
69 views
•
20 slides
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
170 views
•
16 slides
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
7 views
•
11 slides
GraphQLはどんな時に使うか
Yutaka Tachibana
17 views
•
37 slides
画像生成AIの問題点
iPride Co., Ltd.
13 views
•
9 slides
Recently uploaded
(13)
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
45 views
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
69 views
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
170 views
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
•
7 views
GraphQLはどんな時に使うか
Yutaka Tachibana
•
17 views
画像生成AIの問題点
iPride Co., Ltd.
•
13 views
CatBoost on GPU のひみつ
Takuji Tahara
•
780 views
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
•
11 views
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
7 views
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
28 views
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
125 views
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
6 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
149 views
ネタ募集箱を支える技術 開発環境編
1.
ネタ募集箱を 支える技術 2016.01.26 嶋田大輔
2.
@cimadai (しまだい) 嶋田 大輔 自己紹介 https://bitbucket.org/daisuke-shimada 八王子
高尾山 https://github.com/cimadai l ネットワークとその周辺分野が得意 l RTP / RTSP使って監視カメラの録画とか l Winny方面の技術とか l 独自プロトコルで高速にデータを送る技術とか
3.
自己紹介 l 最近興味を持っていること l 機械学習
(ディープラーニング) l ブロックチェーン l 言語は複数触っていますが、好きなのはこんな感じ l JSの本を2冊書いてます。 八王子 高尾山 l OpenCV 3.x l IoT などなど
4.
本日の主題
5.
ネタ募集箱
6.
http://blog.cybozu.io/entry/8305
7.
http://blog.cybozu.io/entry/8305
9.
ピコーン
11.
ネタ募集箱 作ってみた https://github.com/cimadai/neta-‐inbox Fork, Pull Request,
Issue登録歓迎です!
12.
今日はこのネタ 募集箱を作る中 で使った技術を ご紹介します
13.
開発環境編 動作環境編 開発言語編
14.
開発環境編 動作環境編 開発言語編
15.
開発環境 Docker HubEC2 WerckerCodecov 全体としてはこんな構成で開 発を進めています。 GitHubIntelliJ IDEA Wercker
CLI Local Cloud
16.
開発環境 Docker HubEC2 WerckerCodecov 全体としてはこんな構成で開 発を進めています。 普段はIntelliJ IDEAで開発し つつgitでGitHubにcommit
& push。 GitHubIntelliJ IDEA Wercker CLI Local Cloud
17.
開発環境 Docker HubEC2 WerckerCodecov 全体としてはこんな構成で開 発を進めています。 普段はIntelliJ IDEAで開発し つつgitでGitHubにcommit
& push。 Wercker CLIを使ってLocal でもWebと同じCIを実行しま す。 GitHubIntelliJ IDEA Wercker CLI Local Cloud
18.
開発環境 Docker HubEC2 WerckerCodecov 全体としてはこんな構成で開 発を進めています。 普段はIntelliJ IDEAで開発し つつgitでGitHubにcommit
& push。 Wercker CLIを使ってLocal でもWebと同じCIを実行しま す。 WerckerでCI & CDを行い、 テストカバレッジはCodecov に流す。 GitHubIntelliJ IDEA Wercker CLI Local Cloud
19.
開発環境 Docker HubEC2 WerckerCodecov 全体としてはこんな構成で開 発を進めています。 普段はIntelliJ IDEAで開発し つつgitでGitHubにcommit
& push。 Wercker CLIを使ってLocal でもWebと同じCIを実行しま す。 WerckerでCI & CDを行い、 テストカバレッジはCodecov に流す。 できたDocker Imageは Docker Hubでホストしてい ます。 GitHubIntelliJ IDEA Wercker CLI Local Cloud
20.
もう少し詳しく
21.
開発環境 DockerHub WerckerCodecov GitHubのIssueや Pull Requestを使いつつ 日々のコーディングを 進めていきます。 EC2 GitHubIntelliJ IDEA Wercker
CLI Local Cloud
22.
開発環境 DockerHub WerckerCodecov GitHubのIssueや Pull Requestを使いつつ 日々のコーディングを 進めていきます。 ZenHubと組み合わせると GitHubにBoardというカンバ ン機能が付与されるのでとて も使いやすいです。 EC2 GitHubIntelliJ IDEA Wercker
CLI Local Cloud
23.
ZenHub?
25.
BoardsとBurndownが増える
26.
Backlog To Do
Doing Done Close
27.
Backlog To Do
Doing Done Close カンバン便利 (Boards = カンバン)
28.
開発環境 DockerHub WerckerCodecov Wercker CLIを利用すること で、手元のDocker環境で WerckerによるCIを実施する ことができます。 EC2 GitHubIntelliJ IDEA Wercker
CLI Local Cloud
29.
Wercker?
31.
TravisCI CircleCI Codeship みたいなCI/CDサービス
32.
Why Wercker?
33.
Why Wercker? Bitbucketでも使える! 無料で使える! 設定ファイル(wercker.yml)で ビルドの設定ができる! 任意のコンテナでCIできる! 1 2 3 4
34.
各リポジトリ対応状況 http://qiita.com/hiro_koba/items/282e3b2e534f4bc22d64 より引用 1
35.
料金比較2 http://qiita.com/hiro_koba/items/282e3b2e534f4bc22d64 より引用
36.
設定ファイルがYAML3 http://qiita.com/hiro_koba/items/282e3b2e534f4bc22d64 より引用
37.
wercker.ymlの例
38.
実行しているステップの 結果がリアルタイムに 見ることができる
39.
Dockerベースのシステム4
40.
wercker.ymlの例
41.
wercker.ymlの例 好きなDocker container上 でCIができる!
42.
wercker.ymlの例 好きなDocker container上 でCIができる! 手元でも同じ環境でテスト できる!
43.
wercker.ymlの例 好きなDocker container上 でCIができる! 手元でも同じ環境でテスト できる! 本番にも同じ環境で デプロイできる!
44.
Dockerベース すごい
45.
Wercker CLI?
47.
ローカルの Docker環境で 使えるWercker システム
48.
% wercker build
¥ --working-dir=wercker_work ¥ --direct-mount 手元で実行する例 ※neta-‐inboxのwercker.ymlでは、~/.zshrcにwerckerのaliasとして以下と、git configでcodecovのトークンを設定しています。 # Wercker # with local git owner and repository name alias wercker= export X_WERCKER_GIT_OWNER=`git config remote.origin.url ¦ sed -E "s/.*:(.*)¥/(.*).git/¥1/g"` && ¥ export X_WERCKER_GIT_REPOSITORY=`git config remote.origin.url ¦ sed -E "s/.*:(.*)¥/(.*).git/¥2/g"` && ¥ export X_CODECOV_TOKEN=`git config codecov.token` && ¥ wercker' git config codecov.token <Your codecov token>
49.
実行結果
50.
Dockerベース すごい(再)
51.
開発環境 Wercker featureブランチがpush されるとWerckerでCIが 動き始め、テストが実行 されます。 Codecov DockerHubEC2 GitHubIntelliJ IDEA Wercker CLI Local
Cloud
52.
CIが始まるとすぐに コメントをくれます。
53.
Pull Request出しても コメントがつかずに 寂しい思いを していた人も もう安心。
54.
開発環境 Wercker テストのカバレッジは Codecovに保存し、結果 をPull Requestコメント としてGitHubに通知しま す。 DockerHub Codecov EC2 GitHubIntelliJ IDEA Wercker
CLI Local Cloud
55.
カバレッジが登録され ると教えてくれます。
56.
CI結果はこんな感じ でわかるので便利!
57.
このPRはテストが 通ってないからだめ だ!みたいなチェッ クが簡単にできる。
58.
もちろんPull Requestsの 一覧でもわかりやすい
59.
開発環境 Wercker CIが成功したら、現在の ブランチに応じてデプロ イを実施します。 ネタ募集箱の場合は Docker imageを作成し、 Docker Hubにpushして います。 Codecov DockerHubEC2 GitHubIntelliJ
IDEA Wercker CLI Local Cloud
60.
デプロイされたDocker image
61.
featureブランチと developブランチは developタグでpush
62.
masterブランチは リリース時のバージョン タグとlatestタグでpush
63.
他のimageもご紹介
64.
用意しているのは全部で3つ
65.
ビルド時に必要な 環境が入った ビルド環境用image
66.
ビルド環境用Dockerfile
67.
アプリケーションを含む デプロイimage
68.
デプロイ用Dockerfile
69.
デプロイするimageの 元となるベースimage
70.
ベース用Dockerfile
71.
あとは使いたい環境で docker runするなり docker-compose upするなり dockerの話もそのうちするナリ!
>
72.
オープンソースで開発 しているのでここまで 全部無料!
73.
無料 最高!!
74.
オープンソース 最高!!
75.
まとめ • GitHub使うならZenHub便利でいいよ! • BitbucketならJIRA使っておけばOKじゃないかな。 •
Wercker使うとローカルCIもクラウドCIもできるよ! • WerckerはDockerコンテナでCIできるから柔軟性も 抜群! • テストカバレッジも出すといいよ。Codecov便利。 • 開発もテストも本番も全てDockerでやろうぜ。 • 今回は無料だったけど、必要ならばお金を出して楽を しよう!
76.
参考URL • ZenHub – https://www.zenhub.io/ •
Wercker (Web) – http://wercker.com/ • Wercker CLI – http://wercker.com/downloads/ • Docker Hub – https://hub.docker.com/ • みんなで技術ネタを持ち寄ってワイワイするには – http://blog.cybozu.io/entry/8305