스크립트 자동화
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
으로 설정합니다.