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
110
0
Share
Hugo + Firebaseなboilerplate作ったらGWが潰れた話
T. Fujiba
June 08, 2024
More Decks by T. Fujiba
See All by T. Fujiba
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
150
KlarSky開発譚センサーダストとのAI開発戦記
fujiba
0
80
独自ドメインからのメール送信でDMARCエラーに悩まされた話
fujiba
0
100
Other Decks in Programming
See All in Programming
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
470
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
210
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.7k
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
990
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
8
1.7k
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
6.3k
色即是空、空即是色、データサイエンス
kamoneggi
1
190
LLM Plugin for Node-REDの利用方法と開発について
404background
0
110
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
180
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
340
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
1
490
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
310
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
260
How GitHub (no longer) Works
holman
316
150k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
580
Technical Leadership for Architectural Decision Making
baasie
3
380
ラッコキーワード サービス紹介資料
rakko
1
3.4M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Balancing Empowerment & Direction
lara
6
1.1k
The Language of Interfaces
destraynor
162
26k
What's in a price? How to price your products and services
michaelherold
247
13k
Context Engineering - Making Every Token Count
addyosmani
9
900
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
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!