github action으로 gatsby 블로그 github.io에 배포하기

blog template을 바꾸면서 main branch에 merge하면 자동으로 배포될 수 있도록 설정하고 싶었습니다. 이를 지원하는 액션이 있을거라고 생각하고 검색해보았더니 아래의 액션을 발견했습니다.

Gatsby Publish

기존 배포 명령어는 다음과 같았습니다.

"deploy": "gatsby build && gh-pages -d public -b master -r 'git@github.com:donghoon-song/donghoon-song.github.io.git'"

.github > workflows directory에 auto-deploy.yml 파일을 생성했습니다.

name: Gatsby Publish

// main branch에 push할 때 실행
on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: enriikke/gatsby-gh-pages-action@v2
        with:
          access-token: ${{ secrets.ACCESS_TOKEN }}
          // 배포될 repository의 이름을 적습니다.
          // 따로 명시하지 않으면 이 action이 실행되는 repository에 배포됩니다.
          deploy-repo: 'donghoon-song.github.io'
          // 배포될 branch를 적습니다.
          // 따로 명시하지 않으면 'master' branch가 기본값입니다.
          deploy-branch: 'main'

ACCESS_TOKEN은 secrets에서 읽어오는데 아래 공식문서를 참고해 발급받으시고 repository -> settings -> secrets에 추가해주시면 됩니다.

Creating a token

image

Written by@Donghoon Song
사람들의 꿈을 이어주는 코멘토에서 일하고 있습니다.

InstagramGitHubTwitterLinkedIn