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
Deploy Flow at Wantedly
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shimpei Otsubo
March 10, 2020
Technology
1.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Deploy Flow at Wantedly
Wantedly の Deploy Flow の解説です。
規約とそれを強制する仕組みとして Wantedly が行っていることを紹介しています。
Shimpei Otsubo
March 10, 2020
More Decks by Shimpei Otsubo
See All by Shimpei Otsubo
Copy Kubernetes Clusters Really Fast
potsbo
3
5.3k
Go と Wantedly の関係 / How Wantedly uses Go
potsbo
1
940
Wrap every method with just one line
potsbo
1
5.7k
Zero yen Keyboard
potsbo
6
3.4k
Kube - The core tool at Wantedly
potsbo
1
8.5k
k8s - Kubernetes 8 Factors
potsbo
12
11k
コンテンツ作成に集中するためのプレゼンテーション Tips / Presentation with Confidence
potsbo
7
42k
ConfigMap vs Secret #k8sjp
potsbo
1
1.5k
Microservices on Kubernetes
potsbo
5
12k
Other Decks in Technology
See All in Technology
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
840
継続的なAIコスト最適化
bgpat
1
280
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
自分で立ててみるLLMサービス
y_sera15
0
160
ゲームのリアルタイム通信から見た QUIC と MoQ
segadevtech
0
110
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
150
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
1
140
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
130
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
150
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
200
SREでアラート疲れを 解決しよう!
kairim0
1
220
12 個 Tool と、 4,096 Token
hlum
0
130
Featured
See All Featured
Scaling GitHub
holman
464
140k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
920
Into the Great Unknown - MozCon
thekraken
41
2.8k
Code Reviewing Like a Champion
maltzj
529
40k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
930
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
The Language of Interfaces
destraynor
162
27k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
Transcript
©2020 Wantedly, Inc. Deploy Flow at Wantedly نͱڧ੍ FORCIA Meetup
#1 ʙDevOps͍͔ͬͯnightʙ Mar 10, 2020 - Shimpei OTSUBO @potsbo
©2020 Wantedly, Inc. 4IJNQFJ0UTVCP!QPUTCP Developer Experience Squad Wantedly, Inc. Kubernetes
Dev Tools CI / CD AuthN / Z Productivity Dvorak
©2020 Wantedly, Inc. લఏͱͳΔ Wantedly ͷڥ AWS ͕ϝΠϯ 40 Engineers
6 Infrastructure Engineers 5 Kubernetes Clusters 300 namespaces in total GCP ͕Ұ෦ ΦϯϓϨϛεҰͳ͍ 99% of services are on Kubernetes 60 deploys per weekday
©2020 Wantedly, Inc. implement configure ask / help Wantedly ͕ආ͚ΔΓํ
App Engineers Products infrastructure Infra Engineers
©2020 Wantedly, Inc. App Engineers Infra Engineers implement Access through
tools and APIs Products infrastructure Provide tools automate Wantedly ͷΓํ
©2020 Wantedly, Inc. App Engineers Infra Engineers implement Access through
tools and APIs Products infrastructure Provide tools automate Wantedly ͷΓํ Infra engineer ͱ App engineer ͕ૄ݁߹
©2020 Wantedly, Inc. ڧ੍Ͱ͖ΔΈΛߏங͢Δ •CI ͱϩʔΧϧͰಉҰͷπʔϧΛ͏ نͰੜ࢈ੑΛҡ࣋͢Δ •commit hash Λ
tag ʹ͢Δ •ࣗಈ deploy •The Twelve Factors ʹଇΔ Ͳ͏Δ͔ •Interface ͷΈΛकΓཪυϥεςΟοΫʹม͍͑ͯ͘
©2020 Wantedly, Inc. ن same third-party services across all services
commit hash Λ image tag PR merge Ͱࣗಈ deploy build/deploy monitoring etc… ಉҰͷ docker image ΛશڥͰ͏
©2020 Wantedly, Inc. The Latest k8s ops flow set image
check pull deploy push push hook build build
©2020 Wantedly, Inc. 1 commit ʹରͯ͠ 1 docker image GitHub
commit status Ͱ image ͷ࡞ঢ়گΛ feedback ΄΅ͯ͢ͷ commit ͕ deploy Մೳ push push hook build build The Latest k8s ops flow
©2020 Wantedly, Inc. `kube prod deploy master` Ͱ deploy `kubectl
set image` Λ wrap ͍ͯ͠Δ શڥͰಉҰͷ image Λ͍ڥม͚͕ͩࠩ set image check pull deploy The Latest k8s ops flow ࣗಈͰ deploy ͞ΕΔ
©2020 Wantedly, Inc. نͰੜ࢈ੑΛҡ࣋͢Δ •commit hash Λ tag ʹ͢Δ •ࣗಈ
deploy •The Twelve Factors ʹଇΔ
©2020 Wantedly, Inc. ඞཁͳͷ͕ͯ͢ἧ͏ࣾϥΠϒϥϦ servicex • Log format ͱૹ৴ •
Error ऩू • ύϑΥʔϚϯεϞχλϦϯά • ࢄτϨʔγϯά • ଞͷαʔϏε Golang, Ruby, Python, Node Λαϙʔτ ڧ੍Ͱ͖ΔΈΛߏங͢Δ ϧʔϧΛकΔͷ͕Ұ൪؆୯Ͱ͋ΔੈքΛҡ࣋͢Δ
©2020 Wantedly, Inc. ڧ੍Ͱ͖ΔΈΛߏங͢Δ ͯ͢ͷ ops ͕ kube ίϚϯυͰՄೳ ϧʔϧΛकΔͷ͕Ұ൪؆୯Ͱ͋ΔੈքΛҡ࣋͢Δ
ࣾπʔϧͰ build / deploy / ops ͷͯ͢ͷ࡞ۀ͕Մೳ CI Ͱ laptops Ͱಉ͡ͷΛ͏ ͲΜͳࣗಈԽ͕ߦΘΕ͍ͯΔͷ͔Θ͔Γ͍͢ kube build kube prod deploy master Ͱ docker image Λ build ͯ͠ push Ͱ production deploy Ͱੜ manifests ࣗಈੜ kube generate autoscale
©2020 Wantedly, Inc. language: bash env: - // encrypted credentials
here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master Travis ͷઃఆͷྫ
©2020 Wantedly, Inc. language: bash env: - // encrypted credentials
here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master Install kube Travis ͷઃఆͷྫ
©2020 Wantedly, Inc. language: bash env: - // encrypted credentials
here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master Install kube build and push a docker image Travis ͷઃఆͷྫ
©2020 Wantedly, Inc. language: bash env: - // encrypted credentials
here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master deploy the revision Install kube build and push a docker image Travis ͷઃఆͷྫ
©2020 Wantedly, Inc. Travis ͷઃఆͷྫ language: bash env: - //
encrypted credentials here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master deploy the revision Install kube build and push a docker image Interface ͑͞ม͑ͳ͚Ε৽͍͠มߋΛ؆୯ʹΒ·͚Δ ࣾඪ४ͷπʔϧΛ͏ͷ͕Ұ൪ָͩ͠উखʹྑ͘ͳΔ Infra Engineers App Engineers
©2020 Wantedly, Inc. ڧ੍Ͱ͖ΔΈΛߏங͢Δ •CI ͱϩʔΧϧͰಉҰͷπʔϧΛ͏ نͰੜ࢈ੑΛҡ࣋͢Δ •commit hash Λ
tag ʹ͢Δ •ࣗಈ deploy •The Twelve Factors ʹଇΔ Ͳ͏Δ͔ •Interface ͷΈΛकΓཪυϥεςΟοΫʹม͍͑ͯ͘