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
Deploy Flow at Wantedly
Search
Shimpei Otsubo
March 10, 2020
Technology
2
810
Deploy Flow at Wantedly
Wantedly の Deploy Flow の解説です。
規約とそれを強制する仕組みとして Wantedly が行っていることを紹介しています。
Shimpei Otsubo
March 10, 2020
Tweet
Share
More Decks by Shimpei Otsubo
See All by Shimpei Otsubo
Copy Kubernetes Clusters Really Fast
potsbo
3
4k
Go と Wantedly の関係 / How Wantedly uses Go
potsbo
1
780
Wrap every method with just one line
potsbo
1
4.3k
Zero yen Keyboard
potsbo
6
3k
Kube - The core tool at Wantedly
potsbo
1
7.2k
k8s - Kubernetes 8 Factors
potsbo
12
10k
コンテンツ作成に集中するためのプレゼンテーション Tips / Presentation with Confidence
potsbo
7
38k
ConfigMap vs Secret #k8sjp
potsbo
1
1.3k
Microservices on Kubernetes
potsbo
5
11k
Other Decks in Technology
See All in Technology
Lambdaと地方とコミュニティ
miu_crescent
2
370
[FOSS4G 2019 Niigata] AIによる効率的危険斜面抽出システムの開発について
nssv
0
310
強いチームと開発生産性
onk
PRO
33
11k
AGIについてChatGPTに聞いてみた
blueb
0
130
The Rise of LLMOps
asei
5
1.3k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
290
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.1k
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
複雑なState管理からの脱却
sansantech
PRO
1
140
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Bash Introduction
62gerente
608
210k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Why Our Code Smells
bkeepers
PRO
334
57k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
How GitHub (no longer) Works
holman
310
140k
Ruby is Unlike a Banana
tanoku
97
11k
Writing Fast Ruby
sferik
627
61k
Navigating Team Friction
lara
183
14k
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 ͷΈΛकΓཪυϥεςΟοΫʹม͍͑ͯ͘