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
Hugo + Firebaseなboilerplate作ったらGWが潰れた話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
T. Fujiba
June 08, 2024
Programming
0
91
Hugo + Firebaseなboilerplate作ったらGWが潰れた話
T. Fujiba
June 08, 2024
Tweet
Share
More Decks by T. Fujiba
See All by T. Fujiba
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
100
KlarSky開発譚センサーダストとのAI開発戦記
fujiba
0
60
独自ドメインからのメール送信でDMARCエラーに悩まされた話
fujiba
0
66
Other Decks in Programming
See All in Programming
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
1k
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
180
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
180
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
390
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
520
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
130
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
3.4k
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
3
1.9k
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.1k
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
190
How to stabilize UI tests using XCTest
akkeylab
0
140
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
330
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
230
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
Speed Design
sergeychernyshev
33
1.6k
Producing Creativity
orderedlist
PRO
348
40k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
330
Fireside Chat
paigeccino
42
3.8k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
HDC tutorial
michielstock
1
580
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
320
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
160
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Transcript
Hugo + Firebaseͳboilerplate࡞ͬͨΒGW͕௵Εͨ 2024.06.08 T.Fujiba
Ϟνϕʔγϣϯ ϑΥτίϯςετͷӡӦ૬ஊͰ ʮϓϦϯτԠืେมͳͷͰిࢠԠืʹ͍ͨ͠ʯ ͱݴΘΕɺϑΥτίϯӡӦܥͷαʔϏε͕݁ߏ͍͍ஈͱΔ͠ɺεϙοτ ར༻ʹΠϚΠν͔ͳ͍ͳ͋ɾɾɾ →ͳ͍ͳΒ࡞Δ͔ɾɾɾ ݸਓతʹϑΥτίϯϓϦϯτԠืਪ͠ɾɾɾ
ϑΥτίϯԠืαΠτͱͯ͠͏ͷ Ԡืϖʔδ ϑΥʔϜܥαʔϏεΛεϙοτར༻ ϥϯσΟϯάϖʔδ ϥϯσΟϯάϖʔδ͚ͩ͡Όͳ͓͘Βͤͱ͔͜͜ͰΔ͔ جຊతʹίετ͔͔Βͳ͍ͭͰ࡞Δ͔ ࠓͷ͓͜͜Λ ࡞ͬͨͰ͢
ϑΥτίϯ༻αΠτཁ݅ ӡ༻͢Δͷfujiba ͜Ε·Ͱͷӡ༻Ͱࠂจ໘ͳͲશ෦ࣗͰͬͯͨͷͰࣗͰ͍͍ ެ։લ֬ೝओ࠵ऀʹ֬ೝͯ͠Β͏ BASICೝূ͘Β͍͚ͭΔ ԠืϖʔδΛiframeͰૠೖͰ͖Δ ϑΥʔϜαʔϏεͰ࡞ͬͨͷΛ͍͍ײ͡ʹຒΊࠐΈ͢Δ
ϑΥτίϯαΠτجຊߏ WebαΠτϗεςΟϯά → fi rebase ຊ൪: fi rebase hosting ϓϨຊ൪ʢ֬ೝ༻ʣ:
fi rebase functions (BASICೝূͷͨΊ) WebαΠτੜ → Hugo + Hugo Blox WebαΠτσϓϩΠ → GitHub actions Hugo + fi rebase hosting fujiba.netͰ࠾༻ࡁΈ (σϓϩΠgitlab ci)
ͱɺ͜͜·Ͱߟ͍͑ͯͨΒɾɾɾ
ଞ͔Βಉ༷εϖοΫͰͷϑΥτί ϯӡӦҊ͕݅ग़ͦ͏ʂ
͜ΕߏஙؚΊָͯ͠ͳ͍ͱʂ
ϑΥτίϯαΠτجຊߏ(Updated) WebαΠτϗεςΟϯά → fi rebase ຊ൪: fi rebase hosting ϓϨຊ൪ʢ֬ೝ༻ʣ:
fi rebase functions (BASICೝূͷͨΊ) WebαΠτੜ → Hugo + Hugo Blox WebαΠτσϓϩΠ → GitHub actions IaC → Terraform ͜ΕΛςϯϓϨʹͯ͠αΫοͱ WebαΠτ্ཱͪ͛Ͱ͖Δͱ͍ ͍ΑͶ
Hosting Cloud Functions ߏ .BSLEPXOهࡌ -PDBMͰ֬ೝ Push deploy(main) deploy(develop) Access
w/BASIC AUTH Staff User Access without BASIC AUTH 5FSSBGPSN Create infrastructure
boilerplateʹ͠·ͨ͠ https://github.com/fujiba/hugo- fi rebase-boilerplate ͍͍ͩͨ̏Ґ͔͔Γ·ͨ͠
جຊతͳ͍ํ ຊϓϩδΣΫτΛςϯϓϨʔτʹϓϩδΣΫτΛ࡞Δ ઃఆϑΝΠϧ(yaml)Λߋ৽͢Δ terraform࣮ߦͯ͠ fi rebaseϓϩδΣΫτɺαΠτΛ࡞Δ HugoͷηοτΞοϓ(͜͜΄΅ख࡞ۀorz) fi rebaseϓϩδΣΫτઃఆ(ϔϧύʔεΫϦϓτΛ༻ҙ) σϓϩΠ(GitHub
ActionsͰίϛοτ࣌ʹσϓϩΠ͞ΕΔ) هࣄΛMarkdownͰॻ͍ͯίϛοτ͢ΕOK
࡞ͬͯΈͯͷؾ͖ͮ
TerraformͰ fi rebase google-betaϓϩόΠμͰαϙʔτ͞ΕͯΔ betaͳͷͰͦͷ͏ͪมΘΔΜͩΖ͏ͳ͋ɾɾɾ GitHub actions༻ͷαʔϏεΞΧϯτ࡞ΕΔ ࢀߟ: TerraformͰ fi
rebase deploy༻ͷαʔϏεΞΧϯτΛ࡞Δ GitHubͷϓϩόΠμ͋ΔͷͰOIDCͷઃఆterraformͰ݁Ͱ͖ΔΒ͠ ͍ʢͷͰɺͦͷ͏ͪΖ͏ɾɾɾʣ
fi rebaseͰBASICೝূ fi rebaseͷ߹ɺfunctionsʹαΠτσʔλશ෦ೖΕͨܗͰ࡞Βͳ͍ͱ͍ ͚ͳ͍ AWSͳΒCloudFront FunctionͰϗεςΟϯάͷجຊߏม͑ͣʹ͍͚ ΔΜ͕ͩ ίϯςϯπ͚ͩࠩ͠ସ͑ͨͯ͘functionsͷσϓϩΠʹͳͬͯ·͏ Πέͯͳ͍
Hugo Blox (ͪ͜ΒϓϩδΣΫτʹؚΊͯ·ͤΜ) fujiba.netͰ͍࢝ΊͨࠒHugo Academicͩͬͨ Wowchemyͱ໊લΛม͑ɺഁյతมߋ͕͋ͬͨͷͰfujiba.netͰΘͳ͍ ··ɺHugo Bloxͱ໊લΛม͑ɺ·ͨഁյతมߋʢস
ϑΥτίϯҊ݅ͦͷޙ ਐΜͰ·ͤΜorz
Thanks!