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
T. Fujiba
June 08, 2024
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hugo + Firebaseなboilerplate作ったらGWが潰れた話
T. Fujiba
June 08, 2024
More Decks by T. Fujiba
See All by T. Fujiba
28万枚の写真に タグづけした話
fujiba
0
58
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
180
KlarSky開発譚センサーダストとのAI開発戦記
fujiba
0
89
独自ドメインからのメール送信でDMARCエラーに悩まされた話
fujiba
0
130
Other Decks in Programming
See All in Programming
Cloudflare is Agents
chimame
0
170
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
530
yield再入門 #phpcon
o0h
PRO
0
1.2k
Android CLI
fornewid
0
220
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
540
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
640
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.8k
Google Apps Script で Ruby を動かす
kawahara
0
280
メールのエイリアス機能を履き違えない
isshinfunada
0
240
Built Our Own Background Agent at LayerX
layerx
PRO
10
5.7k
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
270
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The SEO identity crisis: Don't let AI make you average
varn
0
530
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
280
How to make the Groovebox
asonas
2
2.3k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
920
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
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!