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
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
440
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
360
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
150
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
240
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
240
Vite+ Unified Toolchain for the Web
naokihaba
0
720
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.7k
Contextとはなにか
chiroruxx
1
390
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
150
共通化で考えるべきは、実装より公開する型だった
codeegg
0
140
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
500
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
7
3.3k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
290
We Are The Robots
honzajavorek
0
270
A designer walks into a library…
pauljervisheath
211
24k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
For a Future-Friendly Web
brad_frost
183
10k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
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.
ご静聴ありがとうございました!