ํ๋ก๊ทธ๋๋ฐ ์ธ๊ณ๋ฅผ ํ๊ตฌํฉ์๋ค.
๋ฐฐํฌํ ํ์ด์ง
์ ๊ฐ ์ด๋ฒ์ ๋ฐฐํฌํ ํ์ด์ง์ ๋๋ค.
์ ๊ธฐ ๋จ๊ฐ, 1์ธ๋น ์ ๋ ฅ ์ฌ์ฉ๋, ์๋์ง ์์ ์์กด๋, ์ ์ฌ์์๋์ง ๋น์ค ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ธก๊ฐ์ ๊ณ์ฐํ ์ ์๋ ์ฌ์ดํธ์ ๋๋ค.
https://ityrannosaurus.github.io/power/
๊นํ๋ธ ํ์ด์ง github.io
GitHub Pages๋ GitHub์์ ์ ๊ณตํ๋ ๋ฌด๋ฃ ์น ํธ์คํ ์๋น์ค์ ๋๋ค.
์ด ์๋น์ค๋ ๊ฐ์ธ ํ๋ก์ ํธ, ํฌํธํด๋ฆฌ์ค, ๊ฐ๋จํ ๋ธ๋ก๊ทธ, ํ๋ก์ ํธ ๋ฌธ์ ๋ฑ์ ์จ๋ผ์ธ์ ๊ฒ์ํ๊ณ ์ ํ ๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
๋์ ์ธ ์๋ฒ ์ฌ์ด๋ ์คํฌ๋ฆฝํธ(PHP, Python ๋ฑ)๋ฅผ ์ง์ํ์ง ์์ผ๋ฏ๋ก, ์ด๋ฅผ ํ์๋ก ํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ํธ์คํ ์๋น์ค๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
๋ค๋ง, ํ๋ก ํธ์๋ ๊ธฐ์ ๋ง์ผ๋ก ๊ตฌ์ฑ๋ ์น์ฌ์ดํธ๋ ํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ ์คํ๋๋ JavaScript ํ๋ก์ ํธ์๋ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ ์ ์์ต๋๋ค.
GitHub Pages ๊ณต์ ๋ฌธ์
https://docs.github.com/en/pages/getting-started-with-github-pages
๊นํ๋ธ ํ์ด์ง github.io ๋ฐฐํฌ ๋ฐฉ๋ฒ
1. GitHub ๊ณ์ ์์ฑ ๋ฐ ์ค์
์น์ฌ์ดํธ๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํด์๋ GitHub ๊ณ์ ์ด ํ์ํฉ๋๋ค.
๊ณ์ ์ด ์๋ค๋ฉด GitHub ์น์ฌ์ดํธ์์ ์๋ก์ด ๊ณ์ ์ ์์ฑํ ์ ์์ผ๋ฉฐ, ๊ณ์ ์ด ์๋ค๋ฉด ๋ก๊ทธ์ธํฉ๋๋ค.
2. ๋ฆฌํฌ์งํ ๋ฆฌ ์์ฑ
power ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ฐฐํฌํ๋ ค๊ณ ํฉ๋๋ค.
Vanilla JavaScript ํ์ผ์ด๋ฉฐ, JavaScript, CSS, HTML๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
์ ์ํ ํ๋ก์ ํธ ํ์ผ์ ๋ชจ๋ main ๋ธ๋์น๋ก ์ฎ๊ฒผ์ต๋๋ค.
3. ๋ฆฌํฌ์งํ ๋ฆฌ Public ์ค์
๋ฌด๋ฃ ๋ฐฐํฌ๋ฅผ ์ด์ฉํ๋ ค๋ฉด repository๊ฐ public์ด์ด์ผ ํฉ๋๋ค.
๋ง์ผ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ ๋ private ์ต์ ์ ์ ํํ๋ค๋ฉด,
settings > General์ ๊ฐ์ฅ ํ๋จ Danger Zone์ Change repository visibility์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
4. Settings > Pages ์ค์
Settings > Pages์ ์ ์ํ๋ฉด GitHub Pages์ ์ ์ํฉ๋๋ค.
5. GitHub Pages
์ ๋ main Branch๋ฅผ ๋ฐฐํฌํ ๊ฒ์ด๋ฏ๋ก, ํด๋น ๋ธ๋์น๋ฅผ ์ ํ ํ Save๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
ํด๋ฆญ์ ์๋ฃํ๋ฉด, ์๋์ ๊ฐ์ด ์ฃผ์๊ฐ ์์ฑ๋ฉ๋๋ค.
ํด๋น ์ฃผ์๋ ์์ง ํ์ผ๊ณผ ์ฐ๊ฒฐ๋์ง ์์์ผ๋ฏ๋ก 404์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
6. gh-pages ํจํค์ง ์ค์น
ํ๋ก์ ํธ ํ์ผ๋ก ๋์์์ gh-pages ๋ชจ๋์ ์ค์นํฉ๋๋ค.
npm i gh-pages
gh-pages๋ GitHub Pages๋ฅผ ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ Node.js ๊ธฐ๋ฐ์ ์ปค๋งจ๋๋ผ์ธ ๋๊ตฌ์
๋๋ค.
gh-pages ๋ชจ๋์ ์ฌ์ฉํ๋ฉด, ๋น๋๋ ์น์ฌ์ดํธ ํ์ผ์ GitHub์ gh-pages ๋ธ๋์น์ ์๋์ผ๋ก ํธ์ํ์ฌ ๋ฐฐํฌํ๋ ๊ณผ์ ์ ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ด ๊ณผ์ ์ ๋ณดํต ๋ช ๊ฐ์ง ๋จ๊ณ๋ฅผ ์๋์ผ๋ก ์ํํด์ผ ํ์ง๋ง, gh-pages๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช
๋ น ํ๋๋ก ์ด๋ฌํ ๊ณผ์ ์ ๊ฐ์ํํ ์ ์์ต๋๋ค.
7. package.json ์์
์ด๋ฒ ํ๋ก์ ํธ๋ ๋น๋๋ฅผ ํ์ง ์๋ ํํ์ ๋๋ค.
๋ฐ๋ผ์ ํต์์ ์ผ๋ก react ๋ฑ์ ํ์ฉํด ๋ฐฐํฌํ ๋ ํ์ํ build ์ฝ๋๋ ํ์ํ์ง ์์ต๋๋ค.
"homepage" : "https://(GitHub ID).github.io/(Repository name)/"
8. ์ ์ฅ ํ deploy ์คํ
์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์๋์ผ๋ก Debug ๋ฒํผ์ด ์์ฑ๋ฉ๋๋ค.
ํด๋น ๋ฒํผ์ ํด๋ฆญํ๋ฉด deploy๊ฐ ์งํ๋ฉ๋๋ค.
9. Branch gh-pages๋ก ๋ณ๊ฒฝ
deploy๊ฐ ์ฑ๊ณตํ๊ฒ ๋๋ฉด ๋ค์ GitHub . Settings > Pages์ ์ ์ํฉ๋๋ค.
Branch๋ฅผ gh-pages๋ก ์ ํํ๊ณ Save ๋ฒํผ์ ๋๋ฆ ๋๋ค.
10. ์น์ฌ์ดํธ ์ ์ ๋ฐ ํ ์คํธ
GitHub Pages์์ ์์ฑํ๋ ์ฃผ์๋ก ์ ์ํ๋ฉด ํ์ด์ง๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
ํ์ด์ง ๋ฐ์์ ์ฆ์ ๋์ง ์๊ณ ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค.
Actions์์๋ ํ์ธํ ์ ์์ต๋๋ค.
10. ํ์ด์ง ์ ๋ฐ์ดํธ
๋ณ๊ฒฝ์ฌํญ์ main ๋ธ๋์น์ commitํ๊ณ deploy๋ฅผ ์คํํ ๊ฒฝ์ฐ ๋ณ๊ฒฝ์ฌํญ์ด ํ์ด์ง์ ์๋์ผ๋ก ๋ฐ์๋ฉ๋๋ค.
์ ์ฉ๋๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
ํ์ด์ง๊ฐ ์ ๋ํ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ฐฐํฌ ์ ์์ ์ฌํญ ๐ง
๋ฐฐํฌ๋ฅผ ์งํํ๋ฉด์ ๋ง์ ์์ ์ฌํญ์ ๊ฑฐ์ณค์ต๋๋ค.
๊ฐ์ ์ํ์ฐฉ์ค๋ฅผ ๊ฒช๊ณ ๊ณ์๋ ๋ถ์๊ฒ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
1. index.html
GitHub Pages๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ index.html ํ์ผ์ ์น์ฌ์ดํธ์ ํํ์ด์ง๋ก ์ฌ์ฉํฉ๋๋ค.
๋ง์ฝ index.html ํ์ผ์ด ์๋ค๋ฉด, ๋ฃจํธ URL๋ก ์ ์ํ์ ๋ 404 ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ index.html ํ์ผ์ ์์ฑํ๊ณ ๋ฐฐํฌํด์ผ ํฉ๋๋ค.
์ ๋ ๋ฉ์ธ html ํ์ผ์ ์ด๋ฆ์ด index.html์ด ์๋์์ผ๋ฏ๋ก, ์ด๋ฆ ์์ ํด์ผ ํ์ต๋๋ค.
๊ฐ๋จํ ๋ฌธ์ ๋๋ฌธ์ ๊ณ์ 404 ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ฐ, ์์ธ์ ์ฐพ์ง ๋ชปํด ์ค๋ซ๋์ ํค๋งธ์ต๋๋ค.
2. ํ์ด์ง ๊ฒฝ๋ก url์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ช ์ถ๊ฐ
์ฒ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๋, index.html์ ๊ฒฝ๋ก๋ "/"์ ๋๋ค.
๊ทธ๋ฌ๋, github.io๋ก ๋ฐฐํฌํ ๋ ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ "https://ityrannosaurus.github.io/power/"์ ๋๋ค.
์ฆ, "/"๊ฐ ์๋๋ผ ๋ฆฌํฌ์งํ ๋ฆฌ๋ช ์ธ power๊ฐ ํฌํจ๋ "/power/"๊ฐ index.html์ ์ฃผ์๊ฐ ๋๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ผ์ index.html์ head๋ถ๋ถ์ base href๋ฅผ ๋ฐ๊พธ๋ ์ฝ๋๋ฅผ ํฌํจํ์ต๋๋ค.
<base href="/power/" />
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ํ์ด์ง๋ ์ ๋ถ /power/ํ์ด์ง๋ช ํ์์ผ๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
3. node.js ์๋ฒ ํ์ฉ ๋ถ๊ฐ
์ฒ์์๋ github.io๋ก ๋ฐฐํฌํ ๊ณํ์ด ์์์ผ๋ฏ๋ก ์๋์ ๊ฐ์ด node.js server๋ฅผ ํ์ฉํ์ฌ ํ์ด์ง ๋งํฌ๋ฅผ ๋ง๋ค์์ต๋๋ค.
๊ทธ๋ฌ๋ ์๋ฒ ์ฝ๋๋ ๊นํ๋ธ ํ์ด์ง๋ก ๋ฐฐํฌํ ์ ์์์ต๋๋ค.
๊ทธ๋์ html ํ์ผ์ ์ง์ ์ง์ ํ์ฌ URL ๊ฒฝ๋ก๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๋ฐฉ์์ผ๋ก ๋ชจ๋ ์์ ํ์ต๋๋ค.
4. ์๋ ๊ฒฝ๋ก ์ฌ์ฉ ํ์
GitHub Pages๋ ํ๋ก์ ํธ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ผ์ ์ฐพ๊ธฐ ๋๋ฌธ์, ์๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ํ์ผ ๊ฒฝ๋ก์ /๋ก ์์ํ๋ฉด, ์ด๋ ์ ๋ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ ๋๋ค.
์ฆ, src/background.mp4์ ๊ฐ์ด ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ ๋ ๊ฒฝ๋ก๋ก ์์ฑํ ์ฝ๋๋ ํ์ด์ง์์ ๋น ์นธ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
ํ์ด์ง ๊ฒฝ๋ก๋ฅผ ์์ ํ๊ณ ๋๋ฉด deploy ํ ๋ฐ์๋๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฏ๋ก, ์ฒ์ ์ฝ๋๋ฅผ ์์ฑํ ๋๋ถํฐ ์๋ ๊ฒฝ๋ก๋ก ์์ฑํ์๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค.
์์ฑ
์์ด๋์ด๋ฅผ ๋์ถํ๊ณ ์คํํ์ฌ ๋ฐฐํฌ๊น์ง ๋ง๋ฌด๋ฆฌํ๋ ๊ฒ์ด ์ฆ๊ฑฐ์ ์ต๋๋ค.
์ ๋ด์ผ์ ์ ๊ธฐ์ธ ํ์ด์ง ๋ง์ด ๋ฐฉ๋ฌธํด ์ฃผ์ธ์.๐ฆ
์ ๊ธฐ ๋จ๊ฐ, 1์ธ๋น ์ ๋ ฅ ์ฌ์ฉ๋, ์๋์ง ์์ ์์กด๋, ์ ์ฌ์์๋์ง ๋น์ค ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ธก๊ฐ์ ๊ณ์ฐํ ์ ์๋ ์ฌ์ดํธ
https://ityrannosaurus.github.io/power/