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
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
品質と信頼性を地続きにする
grimoh
2
890
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
420
AI時代、データエンジニアが一番おもろい
genshun9
0
680
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
240
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.8k
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
100
SREへの勘違いに気づいた後の話
tomodakengo
0
120
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
1.1k
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
270
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
10
4.8k
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
460
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.9k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Six Lessons from altMBA
skipperchong
29
4.5k
Agile that works and the tools we love
rasmusluckow
331
22k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Statistics for Hackers
jakevdp
799
230k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Side Projects
sachag
456
43k
How GitHub (no longer) Works
holman
316
150k
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 ͷΈΛकΓཪυϥεςΟοΫʹม͍͑ͯ͘