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
4.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
リクルートマーケティングパートナーズでのDeployGate活用事例
Bakusoku Iterations Tokyo Vol.2 での発表資料です。
Naoki Ainoya
November 28, 2016
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.9k
Scalebase Analytics powered by Looker
ainoya
0
2.6k
SPIFFE in Action
ainoya
4
1.7k
How Developer Support Works
ainoya
10
2.7k
[RMPxQuipper meetup #3]開発のための開発~スマホアプリ向けe2eテストの検証導入事例を通じて~
ainoya
1
2.4k
How to play Scala on dockerized infrastructure
ainoya
4
3.2k
prevs.io開発の裏側とコンテナ仮想化時代のAPI運用
ainoya
4
2.5k
ビルドパイプラインツールをGoで作った話
ainoya
3
2.7k
Other Decks in Programming
See All in Programming
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
230
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
110
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
110
スマートグラスで並列バイブコーディング
hyshu
0
280
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
970
AIエージェントで 変わるAndroid開発環境
takahirom
1
170
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
290
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
230
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
280
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
0
200
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
260
Featured
See All Featured
Accessibility Awareness
sabderemane
1
150
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Building Applications with DynamoDB
mza
96
7.1k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
The Limits of Empathy - UXLibs8
cassininazir
1
380
How to make the Groovebox
asonas
2
2.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
860
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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/