Gitlab PagesをHugoホスティングとして使ってみた

Gitlab Pagesを使って、Hugoで生成したWebページを公開してみました。

背景

このブログはGCP上で稼働させていたのですが、無料枠からAlways Freeへの切り替えを行っていなくしばらく非公開になっていました。😇 調べてみると無料のSSG(Static Site Generator)ホスティングがあり、

などがありました。(ほかにも多数)

Github Pagesはプライベートリポジトリ自体は無料で作れるのですが、Github PagesのリポジトリをプライベートにするにはGithub Proでないと利用出来ませんでした。

Gitlab Pagesであればプライベートリポジトリでもページ公開が可能なので、利用してみました。

Gitlabへログイン

https://gitlab.com/users/sign_in

以下のようにGithub, Twitterなどのソーシャルログインに対応しているので、簡単に登録出来ました。

プロジェクトの作成 & 公開ページのpush

こんな感じにプライベートリポジトリで作成出来ます。
templateからリポジトリを作成出来るのですが、SSG公開なので Pages/Hugo ではなく Pages/Plain HTML を選びましょう。

作成すると .gitlab-ci.yml ファイル, public ディレクトリが作成されます。

  • public ディレクトリ
    • 公開フォルダ。このフォルダをindexとしてHugoで作成したページを格納する
  • .gitlab-ci.yml ファイル
    • git push時に実行されるCIの定義ファイル。
    • テンプレートのままであればmaster branchにpushされるとpublic配下のファイルがWebサーバに公開される。

この辺りは こちらのページが詳しいです。

git pushすると {username}.gitlab.io/{repo_name}/ のURLで公開出来ます。

独自ドメインの設定

Settings->Pages から以下のようにGitlab Pagesのドメイン設定が出来ます。
独自ドメインの認証ではDNSサーバ側でCNAMEの設定、TXTレコードでのverificationが必要です。
Let’s EncryptによるSSL証明書の自動更新に対応しています。
またサブドメインでの公開も対応しており、このブログのようにサブドメインurlの独自ドメインでも問題なく利用出来ました。

注意が必要なのはプライベートリポジトリでGitlab Pagesを公開しようとすると、初期設定で「Only Project Members」の権限となりrepoアクセス権限を持っているユーザのみアクセスしか出来なかったので、公開設定が必要です。

Settings->GeneralからPagesを「Everyone」に変更すると、公開できます。
逆にGitlab Projectメンバー限定のWebサイトの公開とかも出来るので、色々な活用方法がありますね。

まとめ

Gitlab PagesでHugoで生成したWebページを公開してみました。
プライベートリポジトリ利用可能でかつ、独自ドメインにも対応していて、簡単にブログ公開が出来ました。 特に簡単な設定でLet’s Encryptを有効にしたHTTPSブログを公開出来たのでとても気に入りました!😆Gitlab Pages、めちゃくちゃオススメです!
これからどんどん活用したいと思います!

Share Comments
comments powered by Disqus