관리 메뉴

피터의 개발이야기

[블로그] Github Action 사용법, undefined method excerpt_separator 빌드 오류 해결 본문

LifeStory/블로그

[블로그] Github Action 사용법, undefined method excerpt_separator 빌드 오류 해결

기록하는 백앤드개발자 2024. 2. 11. 00:45
반응형

ㅁ 들어가며

 git블러그가 빌드 실패가 발생하였다. 내가 사용하는 github-page 배포 방식이 v228 -> 229로 변경되면서 jekyll v.3.9.3 -> 3.9.4로 변경되면서 발생한 문제였다. 이슈사항이 이미 등록되어 있었고, 이 이슈를 해결하는 과정!!을 정리하였다. 

  과정에는  원인을 분석하고, 해결방법을 도출하고, 시도하고, 실패하면 다른 방법을 시도하고, 또 실패하고 다시 분석하여 해결하는 이력이 포함되어 있다. 전문용어로 삽질이 포함되어 있다.

 

update...

다른 분들이 헷갈려하셔서 해결방법을 먼저 설명하고 해결하는 과정은 이후로 재편집하였다.

 

ㅁ Build 방법을 GitHub Action으로 변경

 

 ㅇ Git repository > Setting으로 이동

    ㄴ Code and automation - Pages 이동

        ㄴ Buid and deployment - Source에서 GitHub Actions를 선택한다.

 ㅇ GitHub Action를 구체적으로 어떻게 수행할지 workflow로 설정해야한다.

 

ㅁ GitHub Action의 workflow 설정

 ㅇ Git repository에서 Actions 탭으로 이동, New workflow를 선택한다.

 

 ㅇ Jekyll로 검색하여 Jekyll by GitHub Actions를 선택

 

 ㅇ 위의 jekyll.yml의 내용은 기본 제공되었다. 다른 수정사항 없이 Commit Chages를 클릭하였다.

 

ㅁ 정상빌드 확인

 ㅇ Commit: github action으로 변경이 정상적으로 빌드되었다.

 


 ㅇ 지금까지 해결방법이었고, 이제부터는 내가 해결했던 과정을 정리하였다. 해결방법도 그 과정도 기억하기 위해서이다.

 

ㅁ 에러내용 분석

 ㅇ git action에서 build가 실패하였다.

 

/usr/local/bundle/gems/jekyll-3.9.4/lib/jekyll/excerpt.rb:135:in `extract_excerpt': undefined method `excerpt_separator' for #<Jekyll::Page @name="404.md"> (NoMethodError)
............
Error:  Logging at level: debug Configuration file: /github/workspace/./_config.yml GitHub Pages: github-pages v229 GitHub Pages: jekyll v3.9.4 Theme

 

ㅁ 원인분석

ㅇ 마지막 성공인 빌드 30과 실패한 빌드 31을 비교하였다.

  ㄴ github-pages v228 -> v229로 변경

  ㄴ jekyll v3.9.3 -> v3.9.4로 변경

ㅇ 변경사항으로 인해 의존성에 문제가 발생하여 빌드 실패.

 

ㅁ 이슈확인

 ㅇ jekyll의 issues 9544로 이슈가 등록되어 있었다.

 ㅇ 여기서 제시하는 해결책은 두가지였다.

    ㄴ github-pages v228로 변경: 해결을 시도하였지만 실패         

    ㄴ github-pages에서 github Action으로 배포방법 변경: 오히려 간단하게 해결.

ㅇ 해결시도한 두가지 방법을 이력으로 남김.

 

ㅁ 해결시도-  github-pages v228 

ㅇ github-pages v228 -> v229로 변경된 부분을 강제로 v228로 적용해 보았다.

# Gemfile
.....
gem 'github-pages', '~> 228', group: :jekyll_plugins
.....

 ㅇ 커밋하고 build 로그를 확인하였지만, 실패!!

 

Warning: The github-pages gem can't satisfy your Gemfile's dependencies. 
If you want to use a different Jekyll version or need additional dependencies, 
consider building Jekyll site with GitHub Actions: 
https://jekyllrb.com/docs/continuous-integration/github-actions/

 ㅇ 빌드 경고는 Github page에서 GitHub Actions로 변경하도록 권고하였다.

 

https://jekyllrb.com/docs/continuous-integration/github-actions/#setting-up-the-action

 ㅇ 권고 페이지의 내용대로 조치해 보았다.

 

ㅁ Build 방법을 GitHub Action으로 변경

 ㅇ Git repository > Setting으로 이동

    ㄴ Code and automation - Pages 이동

        ㄴ Buid and deployment - Source에서 GitHug Actions를 선택한다.

 

ㅁ Action의 workflow 해결

 ㅇGit repository에서 Actions 탭으로 이동

 ㅇ New workflow를 선택한다.

 ㅇ Jekyll로 검색하여 Jekyll by GitHub Actions를 선택 

 

 ㅇ Commit Chages를 클릭하고 기본 커밋메시지 그대로 커밋하였다.

 

ㅁ 오류 발생

 

 ㅇ 위의 해결시도-  github-pages v228에 조치하였던 것이 문제가 되어서 원복하고 jekyll 버젼을 4.2로 설정하였다.

 

 

 

ㅁ 정상빌드 확인

 ㅇ Commit: github action으로 변경이 정상적으로 빌드되었다.

 

 ㅇ 변경된 페이지로 정상 로딩 확인하였다.

 

ㅁ 함께 보면 좋은 사이트

jekyll 이슈 9544

Jekyll 빌드, github action 변경 방법

반응형
Comments