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
Python札幌 LT資料
t3tra
7
1.1k
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
130
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
390
Graviton と Nitro と私
maroon1st
0
140
AIコーディングエージェント(Manus)
kondai24
0
230
Implementation Patterns
denyspoltorak
0
130
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
130
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
270
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
200
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
5
1.3k
Vibe codingでおすすめの言語と開発手法
uyuki234
0
130
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.7k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
170
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
0
46
Documentation Writing (for coders)
carmenintech
77
5.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
340
The untapped power of vector embeddings
frankvandijk
1
1.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Designing for Timeless Needs
cassininazir
0
96
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
29
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
48
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/