빌드 시 스크립트 실행

스크립트

Hugo 빌드 스크립트에서 파이썬 스크립트를 먼저 실행하고, 이후 Hugo 빌드를 실행하도록 설정합니다. 이를 위해 쉘 스크립트를 작성합니다.

Windows용 스크립트

build.bat라는 이름의 배치 파일을 작성합니다.

@echo off
REM 메타데이터 추가 스크립트 실행
python add_meta.py &&
REM 이미지 이름 및 참조경로 변경 스크립트 실행
python change_image_name.py
hugo server --ignoreCache

코드 설명

@echo off

  • 이 명령은 배치 파일의 명령어를 실행할 때 화면에 표시되지 않도록 합니다.
  • 즉, 배치 파일 내에서 실행되는 명령어를 숨깁니다.

REM

  • REM 명령은 주석을 표시하는 데 사용됩니다.
  • 설명을 제공할 뿐 실제로 실행되지 않습니다.
  • 여기서는 “이미지 링크 업데이트 스크립트 실행"이라는 설명을 제공합니다.

python add_meta.py

  • add_meta.py라는 파이썬 스크립트를 실행합니다.
  • 파이썬이 설치되어 있어야 하며, add_meta.py 파일이 배치 파일과 동일한 디렉토리에 있어야 합니다.
  • && 이 추가되면 각 단계가 실패했을 때 배치 파일 실행을 중지합니다.

hugo –ignoreCache

  • Hugo를 사용하여 사이트를 빌드합니다.
  • --ignoreCache 옵션은 Hugo가 캐시된 파일을 무시하고 새로 빌드하도록 합니다.
  • 이 명령이 실행되면 Hugo가 설정 파일과 콘텐츠 파일을 사용하여 정적 사이트를 생성하고, public 디렉토리에 결과를 저장합니다.

로그 출력

@echo off
REM 메타데이터 추가 스크립트 실행
python add_meta.py
if %errorlevel% neq 0 (
    echo Error occurred in add_meta.py
    exit /b %errorlevel%
)
REM 이미지 이름 및 참조경로 변경 스크립트 실행
python change_image_name.py
if %errorlevel% neq 0 (
    echo Error occurred in change_image_name.py
    exit /b %errorlevel%
)
REM Hugo 서버 시작 및 캐시 무시
hugo server --ignoreCache
if %errorlevel% neq 0 (
    echo Error occurred in hugo server
    exit /b %errorlevel%
)

스크립트 실행

명령 프롬프트를 열고 build.bat 스크립트가 위치한 디렉토리로 이동한 후 다음 명령을 실행합니다:

build.bat

Cloudflare Pages 설정

Cloudflare Pages를 사용하여 Hugo 사이트를 배포할 수 있습니다. 이 과정에서 Cloudflare Pages 설정을 통해 빌드 시 파이썬 스크립트를 실행하도록 설정할 수 있습니다.

  • Cloudflare Pages 프로젝트를 설정합니다.
  • 프로젝트 설정에서 Build Settings를 구성합니다.
  • 빌드 명령어를 다음과 같이 설정합니다:
python add_meta.py && hugo --minify
  • 빌드 출력 디렉토리를 public으로 설정합니다.