Hugo + Github 조합으로 30분 만에 개인 개발 블로그를 구축하기 (2)
이어서 Github Action을 통해 Hugo 블로그 배포를 자동화해보자.
Github Action 설정하기workflow 파일 작성.github/workflows/ 디렉토리를 만들고 그 안에 deploy.yml 을 생성한다.deploy.yml 에 아래 내용을 붙여넣는다.Push main 브랜치에 푸시되면 워크플로가 실행된다.Build Hugo가 public/ 폴더에 정적 사이트를 생성한다.Deploy public/ 내용이 gh-pages 브랜치로 푸시된다.Serve GitHub Pages가 gh-pages 브랜치를 호스팅한다.name: Deploy Hugo Site
on:
push:
branches: [main]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
extended: true
- name: Build site
run: hugo --destination public
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
keep_files: false
GITHUB_TOKEN 권한 부여GITHUB_TOKEN 에게 권한을 부여하자!
Workflow permissions라는 항목 찾기Read and write permissions 에 체크하고 Save!Github Pages 위치 지정build and deployment 섹션의 Source 드롭다운을 연다.우리가 방금 한 일
자동화가 없을 때의 문제점
/public 으로 이동한다.add/commit/push)한다.이렇게 GitHub Actions을 사용하면?
push 만 하면 된다.gh-pages 에 자동으로 업데이트한다.브랜치를 나누어 관리하는 이유?
/public)을 원본 코드와 함께 올리면…
main 브랜치: 내가 직접 작성한 순수한 소스 코드/public 폴더는 .gitignore 에 등록해 제외gh-pages 브랜치: GitHub Action이 자동으로 빌드해준 **최종 결과물(HTML)**만 담아두는 배포 전용 공간으로 활용!이제 복잡한 배포 과정은 신경 쓰지 않아도 된다. 자유롭게 글을 작성하고, 마지막에 git push 명령어 한 번만 입력하면 내 블로그가 즉시 업데이트된다 본격적인 테마 사용법이나 나만의 스타일로 커스텀하는 방법이 궁금하다면 아래 링크를 참고하자.
### 내가 여태까지 했던 방식
- 레포지토리 1개로 `/frontend`, `/backend` 디렉토리로 관리.
- makefile + docker-compose로 각각 front, back 컨테이너를 띄우는 방식으로 공통 환경설정 팀원들에게 줬음.
- 브런치 설정
- main: 실제 버전이 올라갈때 머지
- dev: front+back 머지용
- front: 프론트끼리 작업하고 합치는용
- back: 백끼리 작업하고 합치는용