GitHub Pages에서 써드 파티 Jekyll Plugins 사용하기

공식 문서에 따르면 GitHub Pages를 빌드할 때 쓰는 Jekyll 플러그인은 허용 목록으로 관리되고 있다. 그래서 무작정 jekyll-org 플러그인을 가져다 쓰면 안된다. 액션 로그를 잘 살펴보면 애초에 내가 정의한 Gem 파일의 플러그인은 단 하나도 설치하고 있지 않다는 것을 확인할 수 있다.

그러면 어떻게 해야할까? 당연히 방법은 있다. 하이 레벨에서 설명하자면 다음과 같다.

  1. 소스 브랜치와 깃헙 페이지 브랜치를 나눈다. 각각 mastergh-pages 라고 하자. 깃헙 페이지 배포는 gh-pages 브랜치에서만 한다.
  2. 소스 브랜치에 커밋이 추가되면 커스텀 액션 을 통해 Jekyll 블로그를 빌드하고, 빌드 결과물을 gh-pages 브랜치에 커밋 한다.
  3. gh-pages 브랜치에는 항상 빌드 결과물만 있게 되므로 곧바로 깃헙 페이지로 배포된다.

이를 위해서 요 액션을 사용하면 된다.

  1. 소스 브랜치와 깃헙 페이지 브랜치를 나누고, 깃헙 페이지 브랜치에서 배포하도록 설정한다.
  2. 해당 액션의 예시를 거의 다 가져오면 되지만, 만약 서브 도메인으로 배포하고 있다면 (예: 이 사이트) 한 가지 추가 설정을 해줘야한다. 바로 jekyll_baseurl 을 서브 도메인으로 설정해주는 것이다. 이러면 _config.yml 이랑 별개로 이 옵션이 더 우선순위 높게 먹혀서 로컬에서 개발하기도 편하다.
  3. 소스 브랜치의 빌드 결과를 깃헙 페이지 브랜치에다가 커밋 해야 하므로 해당 깃헙 액션이 쓰기 권한 을 가져야 한다. Settings -> Actions -> General 탭의 제일 하단 Workflow permissions 에서 읽기와 쓰기 권한을 모두 주자.

이렇게 설정해주면 jekyll-org 와 같이 허용 목록에 없는 플러그인도 마음껏 쓸 수 있다!

Last Update: 2023-03-21 11:27:17 PM