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.9k
Scalebase Analytics powered by Looker
ainoya
0
2.5k
SPIFFE in Action
ainoya
4
1.6k
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.1k
prevs.io開発の裏側とコンテナ仮想化時代のAPI運用
ainoya
4
2.5k
ビルドパイプラインツールをGoで作った話
ainoya
3
2.6k
Other Decks in Programming
See All in Programming
AI活用のコスパを最大化する方法
ochtum
0
100
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
150
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
NetBSD+Raspberry Piで 本物のPSGを鳴らすデモを OSC駆動の7日間で作った話 / OSC2026Osaka
tsutsui
1
120
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
340
Apache Iceberg V3 and migration to V3
tomtanaka
0
210
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
150
Gemini for developers
meteatamel
0
120
文字コードの話
qnighy
36
14k
AI & Enginnering
codelynx
0
140
Package Management Learnings from Homebrew
mikemcquaid
0
270
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
270
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Code Review Best Practice
trishagee
74
20k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
110
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
100
How to build a perfect <img>
jonoalderson
1
5.2k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
74
Mobile First: as difficult as doing things right
swwweet
225
10k
Design in an AI World
tapps
0
150
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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/