์ƒˆ์†Œ์‹

๐Ÿ’ป Programming/GitHub

GitHub Actions๋กœ github.io์— ์ž๋™์œผ๋กœ ๋นŒ๋“œ, ๋ฐฐํฌํ•˜๊ธฐ

2022. 12. 14. 13:12

  • -

github.io ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์ž‘์„ฑํ•˜๊ณ  ๋งค๋ฒˆ ์ปค๋ฐ‹ ํ›„์— ์ง์ ‘ ๋ฐฐํฌํ•ด์•ผ ํ•˜๋Š” ๊ฒŒ ๋ฒˆ๊ฑฐ๋กœ์šธ ๊ฒƒ ๊ฐ™์•„์„œ ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ดค๋‹ค.

์ž๋™ ๋ฐฐํฌ ๋ฐฉ๋ฒ•์€ Gatsby Publish๋ฅผ ์‚ฌ์šฉํ•ด์„œ GitHub Actions๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋œ๋‹ค!




GitHub Actions ์ ์šฉํ•˜๊ธฐ

GitHub Action์œผ๋กœ ๋ฐฐํฌ ์ž๋™ํ™”์—์„œ 'GitHub Action์œผ๋กœ ๋ฐฐํฌ ์ž๋™ํ™”' ๋ถ€๋ถ„์„ ์ฐธ๊ณ ํ–ˆ๋‹ค.



์ ์šฉ ๊ณผ์ •

 

1) ๊นƒํ—ˆ๋ธŒ Settings / Developer settings / Personal access tokens์—์„œ ํ† ํฐ ์ƒ์„ฑ

2) github.io ์ €์žฅ์†Œ Settings / Secrets / Actions secrets์— ์ƒ์„ฑํ•œ ํ† ํฐ์„ DEPLOY_TOKEN ์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ถ”๊ฐ€

3) github.io ์ €์žฅ์†Œ Settings / Actions / General ์—์„œ Actions permissions ์„ค์ • -> Allow all actions and reusable workflows ์„ ํƒ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-11-09 14 59 22

 

 

4) github.io ์ €์žฅ์†Œ์˜ root ํด๋”์— .github/workflows/[ํŒŒ์ผ๋ช…].yml ํŒŒ์ผ ์ƒ์„ฑ



 

๋‚˜๋Š” deploy.yml์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ƒ์„ฑํ–ˆ๊ณ , ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

name: Gatsby Publish

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: enriikke/gatsby-gh-pages-action@v2
        with:
          access-token: ${{ secrets.DEPLOY_TOKEN }}
          deploy-branch: gh-pages

 

Gatsby Publish์˜ ๊ธฐ๋ณธ ์ฝ”๋“œ๋Š” Gatsby Publish ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค.

 

  • ๊ธฐ๋ณธ ์ฝ”๋“œ์—์„œ ์ˆ˜์ •ํ•œ ๋ถ€๋ถ„
    • branches: - main : main ๋ธŒ๋žœ์น˜์— ๊ธ€์„ ์ปค๋ฐ‹ํ•  ๊ฑฐ๋ผ์„œ main์œผ๋กœ ๋ณ€๊ฒฝ
    • uses: actions/checkout@v3 : checkout ๋ฒ„์ „์„ 3์œผ๋กœ ๋ณ€๊ฒฝ
    • access-token: ${{ secrets.DEPLOY_TOKEN }} : ํ† ํฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ (๋ณ€๊ฒฝ ์•ˆํ•ด๋„ ์ƒ๊ด€ x)
    • deploy-branch: gh-pages : ๋นŒ๋“œ ํŒŒ์ผ์„ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๊ฐ€ ์•„๋‹Œ gh-pages ๋ธŒ๋žœ์น˜์— ์—…๋กœ๋“œ

 

main ๋ธŒ๋žœ์น˜์— pushํ•  ๋•Œ๋งˆ๋‹ค access-token์„ ์ด์šฉํ•ด์„œ gh-pages ๋ธŒ๋žœ์น˜์— gatsby-gh-pages-action ์‹คํ–‰

 

์ด๋ผ๋Š” ๋œป!

 

(gh-pages ๋ธŒ๋žœ์น˜์— ๋ฐฐํฌํ•˜๊ธฐ๋กœ ์„ค์ •ํ–ˆ์œผ๋‹ˆ github.io ์ €์žฅ์†Œ Settings / Pages ์— ‘gh-pages’ ๋ธŒ๋žœ์น˜๋กœ ์„ ํƒ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ)



๋ชจ๋“  ์„ค์ •์ด ์™„๋ฃŒ๋˜๋ฉด ์ด์ œ๋ถ€ํ„ฐ main ๋ธŒ๋žœ์น˜์— ์ปค๋ฐ‹ํ• ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ github.io์— ๋ฐฐํฌ๋œ๋‹ค.

GitHub Action์ด ์™„๋ฃŒ๋˜๊ธฐ๊นŒ์ง€ ์‹œ๊ฐ„์ด ์‚ด์ง ๊ฑธ๋ฆผ..!



์—ฌ๊ธฐ๊นŒ์ง€๋Š” ๋ฌธ์ œ์—†์ด ์ž˜ ๋”ฐ๋ผํ–ˆ๋Š”๋ฐ ์ฒ˜์Œ์— Actions permissions ์„ค์ •์„ ์ž˜๋ชปํ•ด์„œ ๊ณ„์† ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค.

 

์œ„์— ์ž‘์„ฑํ•œ ๋Œ€๋กœ Actions permissions ์„ค์ •์„ Allow all actions and reusable workflows ๋กœ ์„ ํƒํ–ˆ๋”๋‹ˆ ๋ฌธ์ œ์—†์ด ์ž˜ ์ˆ˜ํ–‰๋๋‹ค.

 

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-11-09 15 18 38


๋ฐฐํฌ ์„ฑ๊ณต ๊ธฐ๋… ์ƒท โœŒ๏ธ

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค!