docker 를 이용해서 hugo 개발환경을 구성중인데, golang 과 데비안os 를 최신 이미지로 받더라도, hugo 버전이 항상 v0.80 으로 설치되고 있었다. 방법이 있나 해서 찾아보니, hugo github 에서 release 되는 버전을 직접받아 설치하면 되었다. 짧게 정리해본다.
주의할 것은 hugo 버전을 바꾸고 나서, 사이트들이 정상적으로 나오는지는 본인이 확인을 해봐야 한다. 그래서 내 경우 hugo 버전업을 할때 보통 프로젝트 소스를 백업했고, 또한 프로젝트 폴더도 따로 복사해서 별도로 구성했다. 그런 후에 hugo 최신버전으로 적용해서 사이트 빌드해보고, 로컬서버로 이상없는지까지 확인을 했으니 참고하시길 바란다.
설치파일 다운받기
hugo 프로젝트의 github release 페이지를 방문한다. 현재 최신버전은 v0.104.3
버전이다.
조금만 스크롤해서 내려보면, 다운받을 수 있는 설치파일 목록을 볼 수 있다. 나는 m1맥북을 사용하고 있어서 arm64 이면서, debian os 를 사용하니 deb 확장자인 hugo_0.104.3_linux-arm64.deb
파일을 다운 받았다.
deb 파일은 우분투나 데비안os 에서 설치하는 파일인데, dpkg
명령어로 설치해서 사용하면 된다.
> dpkg -i /myfiles/hugo_0.104.3_linux-arm64.deb
Dockerfile 셋팅하기
아까 말했듯이 나는 docker 이미지로 개발환경을 구성하고 있다보니, 받은 deb 파일을 Dockerfile
에 복사하고 설치하는 명령어를 추가해야 한다. 우선 Dockerfile
내에 packages
라는 폴더를 하나 만들고 아까 받은 파일을 넣어놓는다.
기존에 Dockerfile
내용에 아래 명령어를 넣는다. 첫번째 라인은 docker 컨테이너 안에 해당 deb 파일을 copy 하게되며, 두번째는 deb 파일로 패키지 수동설치하는 명령어 이다. docker build
를 실행해서 이미지를 생성한다.
COPY packages /myfiles
RUN dpkg -i /myfiles/hugo_0.104.3_linux-arm64.deb
docker run
명령어로 컨테이너를 실행해서 hugo version
으로 버전을 확인한다. 0.104.3
으로 제대로 설치된걸 볼 수 있다.
> hugo version
hugo v0.104.3 BuildDate=2022-10-04T14:25:23Z VendorInfo=gohugoio
이제 hugo 패키지를 이용해서 로컬서버도 기동해보면 블로그 하단에 버전업이 된걸 확인할 수 있다.
> hugo server -D
Start building sites …
hugo v0.104.3 linux/arm64
| EN
-------------------+------
Pages | 26
Paginator pages | 2
Non-page files | 63
Static files | 186
Processed images | 0
Aliases | 5
Sitemaps | 1
Cleaned | 0
Built in 725 ms
...(중략)...
Environment: "development"
Serving pages from memory
Running in Fast Render Mode.
Web Server is available at http://localhost:1313/
Press Ctrl+C to stop