Skip to main content
  1. Posts/

このサイトのデプロイについて

·181 words·1 min
SSG GithubPages Hugo
Table of Contents

世の中あまたのブログサービスのお手軽さはそれはそれで良いとしても、静的サイトジェネレータの良さもある。 動的サイトに比べレンダリング処理の必要がいらない分、表示が早いとか。 メモ帳程度の文章をツラツラ書くのに凝る必要がないから選択肢に静的サイトジェネレータを選んだ理由があった。

ドメインは自分が取得したものだが、サイトはあっちこっちホッピングした。いまはGitHub Pagesを使っている。 いままで作成したコンテンツをローカルの GitHub Pagesのリポジトリに rsyncgit push をしていたけど、 それすら面倒になっているオッさんなのでPostを作成して git push したらデプロイする方向転換を模索し始めた。

gitアカウント作成/Hugoのサイトの構築や、git絡みの設定は完了済みは前提として。

GitHub Pagesでデプロイ
#

これによると GitHub Pages には2つのタイプを選べる。

  • User or Organization Site https://<username or organization>.github.io/ のURLで公開されるタイプ
  • Project Site https://<username>.github.io/repository/ のURLで公開されるタイプ

リポジトリが username.github.io 以外は後者になることがわかった。たぶん、その理解で間違っていないと思う。

つまり、 https://gohugo.io/hosting-and-deployment/hosting-on-github/ のやり方でやると https://www.ty07.net/hugo-mysite/ のURLとして公開されることになる。 期待どおりに https://www.ty07.net のURLで公開するためには GitHub Pagesのリポジトリに rsyncgit push でデプロイメントしかないのだろうか😓

すこしたった後に思ったこと。
#

actions-hugo を先に読めば、まだ理解できたかもしれない。要は、 https://<username>.github.io/ にHUGO環境を入れて GitHub Page にデプロイすれば良いことがわかった。

ところが CNAMEが正しく処理されないので、前とほぼ同じデプロイで落ち着いた。

deploy.sh
  #!/bin/bash

  hugo=~/Documents/devel/repos/ac1965.github.io
  public=~/Documents/devel/repos/deploy

  abort ()
  {
      echo -e "\033[1;30m>\033[0;31m>\033[1;31m> ERROR:\033[0m${@}\n" && exit
  }

  info ()
  {
      echo -e "\033[1;30m>\033[0;36m>\033[1;36m> \033[0m${@}\n"
  }

  warn ()
  {
      echo -e "\033[1;30m>\033[0;33m>\033[1;33m> \033[0m${@}\n"
  }

  test -d ${hugo} && cd ${hugo} || abort "${hogo} directory not found."
  # clean public
  rm -fr public

  info "Deploying updates to GitHub..."

  # Build the project.
  hugo # if using a theme, replace with `hugo -t <YOURTHEME>`

  # Go To Public folder
  test -d ${public} && cd ${public} || abort "${public} not found."
  info "rsync.."
  rsync -at --delete --exclude=".git" ${hugo}/public/. .

  # Add changes to git.
  git add .
  git commit -avm "update:$(env LANG=C date)" && git push
YAMASHITA, Takao
Author
YAMASHITA, Takao
The giant turtle on which the world rests

Related

Hugo
·187 words·1 min
SSG Hugo
Hexo から Hugo # サイトジェネレータを Hugo に変えてみた。 インストールといっても、homebrew を使うので簡単ですが 😁
Hexo でハロー
·164 words·1 min
SSG Hexo
Welcome to Hexo!
葬送のフリーレン
·26 words·1 min
Anime Manga Frieren 葬送のフリーレン
葬送のフリーレンは、日本の漫画、テレビアニメ化されたものが2023.11-2024.03に放映された。 漫画の方は連載中。