Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JenkinsからCI/CDをはじめてみた結果
Search
shinta-inoue
May 29, 2019
Programming
3.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JenkinsからCI/CDをはじめてみた結果
shinta-inoue
May 29, 2019
More Decks by shinta-inoue
See All by shinta-inoue
レガシー化したアプリケーションをAWSを使って3ヶ月で刷新した話
banri
1
3.1k
Other Decks in Programming
See All in Programming
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
520
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
200
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
17k
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.6k
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.4k
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
180
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
1
170
yield再入門 #phpcon
o0h
PRO
0
910
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.4k
AIエージェントで 変わるAndroid開発環境
takahirom
2
770
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
400
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
520
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
920
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Amusing Abliteration
ianozsvald
1
240
Building an army of robots
kneath
306
46k
Transcript
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
Copyright © 2017 UNION TEC CO., LTD. All Rights Reserved. Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved. JenkinsからCI/CDをはじめてみた結果 X-Tech JAWS & JAWS-UGアーキテクチャ専門支部 コラボ勉強会#01 2019/05/29 ユニオンテック株式会社 CTO 井上心太
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ 自己紹介 2 井上心太 2014/04 リクルートホールディングス(リクルートキャリア出向)入社 2018/04 1人目のエンジニアとしてユニオンテック株式会社入社 2018/09 CTO就任 新規事業の立ち上げからグロースにかけてのフェーズをずっとやってきまし た。ユニオンテック では開発体制を外注から内製へと変え、開発チーム の立ち上げを行いました。 shinta.inoue1
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
What is ?
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
空間デザイン・施工 オンラインプラットフォーム +
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ 事業構成 6 3つの事業を展開、内装業のアセットと エンジニアリングのシナジーを最大限に活用しています Platforms 2016.5〜 2018.3〜 (beta版リリース) 2000.5〜 1,000社の協力会社 登録社数7,300社以上 オフィス・飲食店の 設計・施工 建設会社向けB to B マッチングPF C to 職人の マッチングPF
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
建設業界が抱える課題
8 51兆円の産業規模 0 10 20 30 40 50 60 70
自 動 車 ・同 付 属 製 造 品 建 設 業 医 療 不 動 産 生 命 保 険 外 食 物 流 電 力 銀 行 B2C EC 電 気 通 信 ス ー パ ー 医 療 用 医 薬 品 コン ビ ニ ア パ レ ル 介 護 農 業 損 害 保 険 中 食 家 電 小 売 国内主要産業の市場規模 (兆円/年) ▷ 建設業界は国内で2番目の産業規模 Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved. ----------- Note: 各市場における政府統計情報
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ “情報の非対称性”が業界の大きな「不」 9 ----------- Note: Ministry of Land, Infrastructure, Transport and Tourism: 「建設労働需給調査」より作成 案件発注サイド 50人未満の中小工事会社 90%の案件発注サイドが、翌月以降の職人を見つけること に努力が必要、と言っている 70%の工事会社が次の仕事がない、と言っている オフラインのやり取りに起因する “情報の非対称性“が問題 発注先を見つける のに努力が必要 仕事が決まっていない
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ 非効率な工事手配が業界における最大の課題と設定 10 工事会社 中小工事会社 中小工事会社 中小工事会社 工事会社 ゼネコン 工事会社 課題② オフラインのやり取りによる 職人リソースの偏在 (toC) 施主 課題① 多重下請け構造による、 工事マッチングの非効率性 (toB) 職人
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
プロダクト
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ 2つのサービスにより、多重下請け構造を変革し、 中小工事会社 及び 職人の成長を支援する 12 工事発注サイド⇔工事会社 をつなぐ BtoB工事マッチング プラットフォーム ① 中小工事会社のための プラットフォーム (To B) 職人のための アプリプラットフォーム ② 職人(個人)のための プラットフォーム (To C)
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ SUSTINA:工事会社間の工事マッチング 会員数 約10,000社 2016年10月リリース 課金体系 月額サブスクリプション サービス内容 元請と工事会社のマッチング
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
14 ▷ 2018.3にβ版リリース:職人と発注サイドのリアルタイムマッチング
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ 本日お話しすること 15 工事発注サイド⇔工事会社 をつなぐ BtoB工事マッチング プラットフォーム ① 中小工事会社のための プラットフォーム (To B) 職人のための アプリプラットフォーム ② 職人(個人)のための プラットフォーム (To C)
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ 本日お話しすること 16 SUSTINAのビルドをJenkinsで運用してみた話 • なぜJenkinsを選んだのか? • 運用してみて • 今後について
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
なぜJenkinsを選んだのか?
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ SUSTINAのリビルド 18 立ち上げから2年間外注で開発していたプロダクトを2019年1月末にリビルド • インフラが火を吹いていたので急いで開発 • 大量のデータ移行が必要 • エンジニアは3人 リビルド前 リビルド後 言語 PHP 5 PHP 7 フレームワーク CodeIgniter 3系 Laravel 5系 DB MySQL 5系 Amazon Aurora ミドルウェア Apache 2 Nginx インフラ さくらのクラウド AWS
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
19 ▷ リビルド後の構成図
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ 閑話休題 20 https://speakerdeck.com/banri/regasihua-sitaapurikesiyonwoawswoshi-tute3keyue-deshua-xin-sitahua リビルドについてはJAWS DAYS 2019の発表資料を見ていただけると!
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ CI/CDの選定の過程 21 LaravelがAWS連携が容易なこともありAWSを軸に利用技術を選定 CI/CDはCodeBuildでしょ!
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ CodeBuildと3日間格闘 22 やりたきこと • SUSTINAと管理画面はモノレポで管理したい • SUSTINAと管理画面は別々にデプロイ可能にする • デプロイタイミングはコントロールしたい • テストはなし CodeBuildだと… • GithubからhookでビルドするとSUSTINA,管理画面がどちらもデプロイされてしまう • コマンドラインからビルドをキックするのは手間 • 結局CodeBuild以外のものを利用しないとやりたきことができない
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ CodeBuildと3日間格闘 23 やりたきこと • SUSTINAと管理画面はモノレポで管理したい • SUSTINAと管理画面は別々にデプロイ可能にする • デプロイタイミングはコントロールしたい • テストはなし CodeBuildだと… • GithubからhookでビルドするとSUSTINA,管理画面がどちらもデプロイされてしまう • コマンドラインからビルドキックはミスりそう • 結局CodeBuild以外のものを利用しないとやりたきことができない 発狂
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ そこでJenkins 24 やりたきこと • SUSTINAと管理画面はモノレポで管理したい • SUSTINAと管理画面は別々にデプロイ可能にする • デプロイタイミングはコントロールしたい • テストはなし こいつならいける!
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
運用してみて
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ Jenkinsを使ってよかったこと 26 • Jenkins起因でデプロイできないトラブルはなし • 使ったことのあるエンジニアが多く学習コストが少ない • ググったときの情報量が多い • テーマを導入すると少しモダンなUIになる
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ Jenkinsが微妙なところ 27 • JenkinsfileをGroovyで書かないといけない • 適切なPluginを導入しないといけない • Jenkinsのサーバー運用が必要 • 大量のビルドもしくは重いビルドを走らせるのは不安 • 他ツール連携・テスト実行などを増やして行くと設定が煩雑 • 例えばSlack連携するためにGroovyでスクリプトを書いたり… 辛い・不安な部分も結構多い
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
今後について
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ 結論 29 Jenkinsやめます
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ なぜやめるのか 30 • リビルドが完了し、今後を見据えて運用・管理をシンプルにしたくなった • Jenkins導入時はリビルドに追われていたこともあり、「慣れている」「利用イメージが湧く」とい う観点で採用していたため、 • Laravel dusk(E2Eテスト)を導入するため、ビルドの調整や dockerコンテナの管理などを自前でやりたくない • Jenkinsのメンテに時間を取られて開発スピードが落ちてしまっては本末転倒なため • ちなみにLaravel duskのリファレンスにCI/ CDについての章があるがJenkinsは出てこない… CodeBuild含めどのツールに乗り換えるかは絶賛検討中 ※おすすめあればぜひ教えてください
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
▷ まとめ 31 本当はCodeBuildを使いたかった • 十分な時間が取れればJenkinsは選んでなかったかもしれない • 複雑なことをしなければJenkinsでも運用は難しくない (でも複雑じゃないなら他のツールでもいいよね) Jenkins自体は悪いツールではないがツールの選定は慎重に!
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
セミナールームを貸し出せますので、 イベントなどで使い方はご相談ください! ご連絡はこちらまで!
[email protected]
ご連絡はこちらまで Facebook: shinta.inoue1 Email:
[email protected]
Copyright © 2018 UNION TEC CO., LTD. All Rights Reserved.
ご静聴ありがとうございました!