Hugo を yum で Amazon Linux にインストール
Hugo を yum で Amazon Linux にインストールする方法をメモしておきます。
イントロ
AWS CodeComit から git clone して、Hugo でビルドして、S3 にデプロイしたいなと考えだしたのですが、これやりたければ CodePipeline でやるのが普通ですが、これだけのことに CodeBuild やら CodePipeline とか使うの面倒くさいなと思いました。CodeCommit Pull をトリガーに Lambda で git clone して、Hugoでビルドして S3 にデプロイすれば割と簡単でコストほとんどかからず、デプロイ時間も極短時間ではと考えたわけです。
ただし、Hugo を Lambdaで動かすのが結構面倒臭そうなのと、CodeCommit の clone は CLI や SDK で実行可能な API が無く、Git そのものが無いと難しそう。Hugo も Git も Amazon Linux でビルドしてバイナリやら依存のある Shared Object やらを Lambda持っていくのはそれはそれで面倒臭いと思っていたら、Lambda っていつの間にかコンテナ動くようになったんですね。
AWS Lambda の新機能 – コンテナイメージのサポート
というわけで、Lambda Run Time コンテナイメージをベースに Hugo とGit が追加したコンテナイメージを作成して Lambda で動かそう、と思ったわけです。ググったりしましたが、Hugo を yum で簡単にインストールする方法が見つからなかったのでメモしておきます。
Amazon Linux に Hugoをインストール
Hugo のドキュメントでは Fedora 系の Distribution では dnf でインストールが必要です。
Fedora maintains an official package for Hugo which may be installed with:
sudo dnf install hugo
ところがAmazon Linuxには dnf が入っておらず、これだけのために dnf 入れるのもあれなので、yum で入れたいところです。
先ほどの Hugo のドキュメントを見ると Fedora Copr のリポジトリにあることがわかります。
For the latest version, the Hugo package maintained by @daftaupe at Fedora Copr is recommended: - Install Hugo | Hugo
Fedora Copr のリポジトリにあれば、yum でリポジトリを有効化すると入れることができます。
インストール手順
How to enable repo — COPR documentationに沿って、Hugo を yum でインストールします。
-
Amazon Linuxバージョン確認
cat /etc/system-release Amazon Linux release 2 (Karoo) -
yum-plugin-coprをインストールsudo yum install -y yum-plugin-copr -
Hugo ドキュメントに記載されていた
daftaupe/hugoリポジトリ有効化sudo yum copr enable -y daftaupe/hugo -
Hugo をインストール
sudo yum install -y hugo -
Hugo インストール確認
hugo version hugo v0.81.0 linux/amd64 BuildDate=2021-03-20T16:40:03Z
あとがき
無事に Amazon Linux に yum で Hugo をインストールできました。あんまりニーズなさそうですが。