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
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
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.2k
Other Decks in Programming
See All in Programming
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
260
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
200
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.2k
iOSDC2026登壇資料.pdf
riofujimon
0
200
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.7k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
380
Intent as Code
shoppingjaws
6
1.1k
Verilogで学ぶCPU自作入門.pdf
uyuki234
7
3.9k
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
200
Featured
See All Featured
Believing is Seeing
oripsolob
1
240
Facilitating Awesome Meetings
lara
57
7.2k
Docker and Python
trallard
47
4.2k
Skip the Path - Find Your Career Trail
mkilby
1
240
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
Practical Orchestrator
shlominoach
192
12k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.3k
Abbi's Birthday
coloredviolet
4
10k
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.
ご静聴ありがとうございました!