github pages + jekyll을 이용한 블로그를 이용하다보면 지난 번 글에서 언급한 것처럼 보안 취약점 문제가 발생한다. 대부분의 경우 최신 버전이 아닌 jekyll 관련 패키지를 github repository에 올렸을 때 발생한다. 따라서 해결방법은 관련 패키지에 대한 최신 버전 업데이트 후, repository에 push해주면 된다. 이번에는 jekyll 버전 문제로 보안 취약점 알림이 발생했을 때 이를 해결하는 방법에 대해 소개한다.



1. Gemfile 수정


최신 버전으로 jekyll을 업데이트 하기 위해서는 Gemfile을 열어 다음 내용을 추가한다. (만약 기존에 해당 내용이 있다면 jekyll 최신 버전을 확인 후 버전 숫자만 변경한다.)

gem "jekyll", "~> 3.6"

2. bundle update 명령 수행


Gemfile 내용을 수정한 뒤에는 bundle update 명령을 실행한다. 아래의 그림과 같이 별다른 에러 출력 없이 업데이트가 진행되면 정상적으로 업데이트가 완료된 것이다.



3. Gemfile.lock 정보 확인


업데이트 진행 후에는 Gemfile.lock 파일을 열어 jekyll 버전 정보가 최신 버전으로 변경되었는지 확인한다. 필자의 경우 Gemfile.lock 파일 내용을 확인해보니 기존 jekyll 3.1.6 버전에서 3.8.7 버전으로 업데이트된 것을 확인할 수 있었다. 만약 업데이트 정보가 반영되지 않는다면 기존의 Gemfile.lock 파일을 삭제한 뒤 2번(bundle update) 과정을 다시 수행하여 새로 생성된 Gemfile.lock 파일에서 업데이트가 정상적으로 수행되었는지 확인해 본다.



4. git repostiroty에 업데이트된 Gemfile, Gemfile.lock push


업데이트된 정보를 Github 블로그 repository에 반영하기 위해 Gemfile과 Gemfile.lock을 업로드해주면 Security Alert 부분이 사라진 것을 확인할 수 있다.



참고


  • https://talk.jekyllrb.com/t/updating-jekyll-to-3-6-everything-fails/1009/2