Hugoのバージョンを0.122.0から0.131.0にアップデートする

はじめに

前回のアップデートと同様の手順でアップデートしていく。

環境

Windows 11 Professional
Docker Desktop 4.34.2 (167172)
Hugo 0.122.0

準備

以下の2点確認しておく必要がある

  • アップデート内容の確認
  • Netlifyの対応するHugoバージョンの確認

Hugoの最新版

アップデート内容確認

Hugoのサイトにあるnews をみてアップデートで何が変わったのかを確認する。
下記サイトを確認し、 0.122.0から0.131.0の間に何が変化したのかをさらっと確認しておく。
https://gohugo.io/news/

NetlifyのHugoのバージョンを確認する

https://docs.netlify.com/configure-builds/available-software-at-build-time/を見て、変わらずHugoのバージョンはどれでも入れられるようなので最新を入れる。

手順

  1. ローカルで動かしている Docker での hugoコンテナでビルドするhugoのバージョンの変更
  2. コンテナを立ち上げて動作確認
  3. 問題なければnetlify.tomlのバージョンを変更してデプロイする。

Dockerバージョンの変更

Docker/hugo/Dockerfile を下記のように変更。

-FROM golang:1.22-alpine3.19 AS build
+FROM golang:1.23.1-alpine3.20 AS build

# https://github.com/gohugoio/hugo/releases
-ARG HUGO_VERSION=v0.122.0
+ARG HUGO_VERSION=v0.131.0

コンテナをビルドする。

docker compose build --no-cache
docker compose up -d

動作確認

http://localost:1313 を確認して問題ないかを確認する。

下記のようなログが出ている。

WARN  deprecated: .Site.IsServer was deprecated in Hugo v0.120.0 and will be removed in a future release. Use hugo.IsServer instead.

この辺は直しておく。

.Site.IsServer was deprecatedの修正

-{{ if not .Site.IsServer }}
+{{ if not hugo.IsServer }}

として修正する。

netlify.tomlの修正

[context.production.environment]
-HUGO_VERSION = "0.122.0"
+HUGO_VERSION = "0.131.0"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"

...

[context.split1.environment]
-HUGO_VERSION = "0.122.0"
+HUGO_VERSION = "0.131.0"
HUGO_ENV = "production"

...

[context.deploy-preview.environment]
-HUGO_VERSION = "0.122.0"
+HUGO_VERSION = "0.131.0"

...

[context.branch-deploy.environment]
-HUGO_VERSION = "0.122.0"
+HUGO_VERSION = "0.131.0"

参考

おわりに

Hugoのバージョンを少し上げた。
最新版(v0.134.3)まで一気に上げたら動かなくなったので少しずつ。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。