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.4k
リクルートマーケティングパートナーズでの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.7k
Scalebase Analytics powered by Looker
ainoya
0
2.2k
SPIFFE in Action
ainoya
4
1.5k
How Developer Support Works
ainoya
10
2.5k
[RMPxQuipper meetup #3]開発のための開発~スマホアプリ向けe2eテストの検証導入事例を通じて~
ainoya
1
2.2k
How to play Scala on dockerized infrastructure
ainoya
4
2.9k
prevs.io開発の裏側とコンテナ仮想化時代のAPI運用
ainoya
4
2.4k
ビルドパイプラインツールをGoで作った話
ainoya
3
2.5k
Other Decks in Programming
See All in Programming
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
170
Azure AI Foundryのご紹介
qt_luigi
1
170
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
930
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
280
カンファレンス動画鑑賞会のススメ / Osaka.swift #1
hironytic
0
170
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
28
4k
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
390
Fibonacci Function Gallery - Part 2
philipschwarz
PRO
0
210
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
120
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
Site-Speed That Sticks
csswizardry
2
260
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Building Adaptive Systems
keathley
38
2.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
173
51k
Building Your Own Lightsaber
phodgson
104
6.2k
Faster Mobile Websites
deanohume
305
30k
GitHub's CSS Performance
jonrohan
1030
460k
Bash Introduction
62gerente
610
210k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
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/