Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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とGame Jamで、ゲームを完成させた話
takahirosaeki
0
110
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
460
Building an Out-of-Order CPU
latte72
1
730
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
580
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
180
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
160
Hono + Inertia + React で LP を構築した話
oukayuka
2
220
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
120
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
5
690
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
210
AIと壁打ちしながら進めるコスト管理
fufuhu
2
2k
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
680
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
450
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Agile that works and the tools we love
rasmusluckow
331
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
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.
ご静聴ありがとうございました!