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
リクルートマーケティングパートナーズでのDeployGate活用事例
Search
Naoki Ainoya
November 28, 2016
Programming
2
4.5k
リクルートマーケティングパートナーズでのDeployGate活用事例
Bakusoku Iterations Tokyo Vol.2 での発表資料です。
Naoki Ainoya
November 28, 2016
Tweet
Share
More Decks by Naoki Ainoya
See All by Naoki Ainoya
Looker BEACON 2021 / How we implemented Scalebase Analytics with Looker
ainoya
0
2.8k
Salesforce Application Development with GitHub Actions and sfdx-cli
ainoya
1
3.8k
Scalebase Analytics powered by Looker
ainoya
0
2.4k
SPIFFE in Action
ainoya
4
1.5k
How Developer Support Works
ainoya
10
2.6k
[RMPxQuipper meetup #3]開発のための開発~スマホアプリ向けe2eテストの検証導入事例を通じて~
ainoya
1
2.3k
How to play Scala on dockerized infrastructure
ainoya
4
3k
prevs.io開発の裏側とコンテナ仮想化時代のAPI運用
ainoya
4
2.5k
ビルドパイプラインツールをGoで作った話
ainoya
3
2.5k
Other Decks in Programming
See All in Programming
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
1
10k
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
220
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
250
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
420
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
130
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
220
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
190
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
120
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
290
PicoRuby on Rails
makicamel
2
130
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
550
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
260
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
How GitHub (no longer) Works
holman
314
140k
BBQ
matthewcrist
89
9.7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Site-Speed That Sticks
csswizardry
10
690
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Building Applications with DynamoDB
mza
95
6.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Transcript
ϦΫϧʔτϚʔέςΟϯάύʔτφʔζͰͷ DeployGate׆༻ࣄྫ @naokiainoya
ࣗݾհ • @naokiainoya • ϦΫϧʔτϚʔέςΟϯάύʔτφʔζ ϓϩμΫτ։ൃ෦ ։ൃࢧԉάϧʔϓ
։ൃج൫ΤϯδχΞతͳ͜ͱΛ ͍ͯ͠·͢ ։ൃࢧԉ( ϓϩμΫτԣஅతͰٕज़ࢧԉΛߦ͏ ϓϩμΫτ։ൃ෦ͷ୲ϓϩμΫτ܈
ϓϩμΫτ։ൃΛ Ճͤ͞ΔͨΊͷ։ൃ • ΤϯδχΞͷख͕ճΓ͖Εͯͳ͍ͱ͜ΖΛ र͍ʹ͍͓͘ࣄͰ͢
۩ମతͳۀ • ࣾherokuͷߏங(deis on GCP) • σʔλղੳج൫ߏங • e2eςετ(Appium/Selenium) •
ݕূڥඋ(OpenSTFಋೖ)
CIڥߏங(CircleCI, DeployGate) • ճΓݻΊେࣄ https://cdn.meme.am/instances/500x/ 65068604.jpg https://cdn.meme.am/instances/500x/ 65068604.jpg https://cdn.meme.am/instances/500x/ 65068604.jpg
DeployGate • (΄΅)શͯͷϓϩμΫτͰͬͯ·͢!!
Έͳ͞ΜԿਓ͙Β͍Ͱ DeployGateͬͯ·͔͢ʁ • 50ਓҎ্ͷਓʁ • 100ਓҎ্ͷਓʁʁ • 500ਓҎ্ͷਓʁʁʁ
ฐࣾͷDeployGateϢʔβɺ ଟ͍ • ϦΫϧʔτάϧʔϓͱͯ͠ શࣾతʹར༻ ฐΧϯύχʔ͚ͩͰ100ਓ ɾΞϓϦेຊ • (શମͰ͑ΔͱͱΜͰͳ ͍ਓʹ)
εςʔΫϗϧμʔଟ͍ڥͰͷ ΞϓϦ… • σΟϨΫλʔɾӦۀɾίϯςϯπฤूऀͳͲ ؔऀ͕ଟ͍ • iOSͷ߹uuidొͳͲΘ͍͠λεΫ͕ଟ͍ ͷͰࠔ͍ͬͯͨ
EnterpriseϏϧυ+ެ։ϖʔδ Ͱര • ѹతͳෛ୲ݮ
slack࿈ܞͰ͙͢ • (iOS)fastlaneͷslack webhookͰ௨ • (android)deploygateͷwebhookͰ௨
ཤྺݟฦͤΔศར͞ • ୭͕ԿͷversionΛμϯϩʔυͨ͠ͷ͔·Ͱ Slackʹ௨Ͱ͖Δ • QAͷͱ͖ಛʹʹཱͭ
μϯϩʔυͨ͠ΞϓϦ͕ͻͱͰ Կͷόʔδϣϯ͔Θ͔Βͳ͍ • ݱͰ֬ೝͷ࣌ɺεϚϗͰΞϓϦΛ։͍ͯ όʔδϣϯใΛݟͳ͍ͱ͔Βͳ͍ • QAͷͱ͖ɺಛʹࠔΔ
։ൃ൛Ͱͷͪΐͬͱͨ͠ • ΞΠίϯʹόʔδϣϯ༩ • Πϯετʔϧ͞Εͨόʔδϣϯ͕ Ұྎવʹ
fastlaneͷλεΫͰόʔδϣϯ ༩ • ΞΠίϯʹόʔδϣϯ༩ http://nsscreencast.com/episodes/213-icon-badging-with-fastlane
stampͰ༩ • github.com/ainoya/stamp • goɺCIεΫϦϓτʹຒΊࠐΉ͚ͩ
രͰ͖ΔΑ͏ʹͳ͚ͬͨͲ… ϢʔβଟͳΒͰͷ͕
Ϣʔβଟ͍ͳΒͰͷ • ආ͚ͯ௨Εͳ͍ͷ͕Ϣʔβཧ • ݖݶཧ • IDΫϦʔχϯά • ʑ…
نେ͖Ίͷ৫Ͱͷ Ϣʔβཧ͋Δ͋Δ • ਃ->(ঝೝ)->ొͷ࡞ۀ ͕໘ • ݖݶʢ։ൃऀɾςελʔʣ ͷίϯτϩʔϧ͕໘ • ΞΧϯτͰ՝ۚͳͷͰ
ΉΈʹ;ͨ͘͠ͳ ͍…
֎෦αʔϏεଆͷཧը໘Ͱ खಈઃఆ͢Δͷݶք • Φϖϛε͕ࢥΘ͵Πϯγσϯτͷݩʹ…
Infrastrucuture as codeԽͯ͠ ͠·͓͏ʂʂ • AWSҎ֎ͷSaaSͷઃఆcodeͰҰݩཧ͢ Δ࣌དྷͯ·͢
Ϣʔβཧcodeཧʹͯ͠ ͠·͍·͠ΐ͏ɻ
terraformͰɻ
recruit-mp/terraform- provider-deploygate ͷ͝հ • (deploygate apiͷgoΫϥΠΞϯτ recruit-mp/go-deploygateఴ͑ͯ…) ⏩
͜ΕԿ • terraformͷpluginͰ͢ • terraform/builtin/githubϓϥάΠϯΛࢀߟʹ ͠ͳ͕Β࡞Γ·ͨ͠
Կ͕Ͱ͖Δ͔ • PersonalͰެ։ͨ͠ΞϓϦͷ ϢʔβݖݶՃɾআ • OrganizationͷϢʔβՃɾআ • ެ։APIͰͰ͖Δ͜ͱΛҰ௨Γαϙʔτ
͍ํ • terraformͷ͍ํʹ४͡·͢ • terraform-provider-deploygateΛ go buildͯ͠terraformͷόΠφϦͱ ಉσΟϨΫτϦʹஔ
ઃఆϑΝΠϧͷهड़
terraform plan/applyͰ ઃఆΛαʔϏεʹద༻ • "terraform plan"Ͱద༻༰Λ֬ೝ
terraform plan/applyͰ ઃఆΛαʔϏεʹద༻ • "terraform apply"ͰઃఆΛద༻
Ϣʔβઃఆas codeͷϝϦοτ • gitཧʹͳΔͷͰɺൃߦཤྺ͕Δʢࠪϩ άͷΘΓʹͳΔ) • ϓϧϦΫϕʔεͰͷਃϑϩʔͳͲϫʔΫϑ ϩʔͮ͘Γ͕༰қ
·ͱΊ • deploygateരศར • ໘ͳϢʔβཧཧը໘Ͱ Βͳ͍ͰterraformΛ͏ͱ ײ͕͖ͬ͢Γ☺ • deploygate apiཧܥͷ
ΤϯυϙΠϯτՃʹظ
ɾterraform provider࡞ ͷࢀߟʹͨ͠ࢿྉ • goॻ͚ΔਓͳΒҙ֎ͱ؆୯ɻ͙Β͍Ͱ࡞Ε·ͨ͠ɻ • hashicorp/terraform/builtin ҎԼͷprovider܈ͷίʔυΛಡΉ ͱཧղ͕ૣ͍ͱࢥ͍·͢ •
(ྑهࣄ)TerraformͷProviderΛ࡞ͬͨ - tkak's tech blog http://tkak.hatenablog.com/entry/2014/11/07/074044 • ͔Θ͍͍ϑϦʔૉࡐू ͍Β͢ͱ http://www.irasutoya.com/