스크립트 자동화

스크립트 자동화

Intro

하나의 명령으로 정해진 스크립트들을 먼저 실행하고, 이후 Hugo 빌드를 실행하도록 설정합니다. 이를 위해 쉘 스크립트를 작성합니다.

Windows용 스크립트

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

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

코드 설명

@echo off

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

::

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

python script/add_meta.py

  • script 폴더에서 add_meta.py라는 파이썬 스크립트를 실행합니다.
  • && 이 추가되면 각 단계가 실패했을 때 배치 파일 실행을 중지합니다.

python script/change_image_name.py

  • script 폴더에서 change_image_name.py라는 파이썬 스크립트를 실행합니다.

hugo –ignoreCache

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

로그 출력

@echo off
:: 메타데이터 추가 스크립트 실행
python add_meta.py
if %errorlevel% neq 0 (
    echo Error occurred in script/add_meta.py
    exit /b %errorlevel%
)
:: 이미지 이름 및 참조경로 변경 스크립트 실행
python change_image_name.py
if %errorlevel% neq 0 (
    echo Error occurred in script/change_image_name.py
    exit /b %errorlevel%
)
:: Hugo 서버 시작 및 캐시 무시
hugo server --ignoreCache
  • %errorlevel% 변수는 이전 명령의 종료 상태를 나타냅니다.
  • 종료 코드가 0이 아니면 오류가 발생한 것으로 간주하고, 오류 메시지를 출력한 후 배치 파일 실행을 중지합니다.

스크립트 실행

터미널을 열고 server.bat 스크립트가 위치한 디렉토리로 이동한 후 다음 명령을 실행합니다:

cmd /c server

Cloudflare Pages 설정

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

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