Hugoで生成したコンテンツをWebサーバーにデプロイ(アップロード)する
Hugoでコンテンツを生成すると、ftpクライアントなどでWebサーバーにデプロイ(アップロード)するのですが、都度ftpクライアントを使うのも面倒になってくる
そういう時に…
lftpコマンドを利用する
インストールする
$ sudo apt install lftp
設定ファイルを書く
$ nano lftp.dat
open -u userid,'p@ssword0' ftp.example.co.jp
set ftp:charset utf-8
mirror -R --delete --verbose=3 --log=/home/user/hugo-site/lftp.log /home/user/hugo-site/public /
echo finished!
close
quit
mirror -R –delete –verbose=3 でミラーリングアップロードする
オプション | 意味 |
---|---|
-R | ローカル側からサーバー側へアップロードする src-dirにローカル側、target-dirにサーバー側のパスを指定する |
–delete | target-dirにあってsrc-dirに無いものは削除される |
–verbose=3 | 表示されるメッセージのレベルを指定する |
コンテンツの生成後にアップロードする
コンテンツを生成するスクリプトを書いておく
$ nano site_generate.sh
rm -rf public/
hugo --destination public --theme 適用するテーマ
rm ./lftp.log
lftp -f ./lftp.dat
$ chmod +x site_generate.sh
コンテンツの生成後にアップロードする時は
$ ./site_generate.sh
rsyncコマンドを利用する
インストールする
$ sudo apt install rsync
コンテンツの生成後にアップロードする
コンテンツを生成するスクリプトを書いておく
$ nano site_generate.sh
rm -rf public/
hugo --destination public --theme 適用するテーマ
rsync -avz --update --delete /home/user/hugo-site/public/ [email protected]:/wwwroot/example.co.jp
$ chmod +x site_generate.sh
オプション | 意味 |
---|---|
-avz | アーカイブモード 動作内容を表示する 転送中のデータを圧縮する |
–update | target-dirのものがsrc-dirより新しければコピーされない |
–delete | target-dirにあってsrc-dirに無いものは削除される |
コンテンツの生成後にアップロードする時は
$ ./site_generate.sh
竹内電設は、大阪府下を中心に中小規模の組織がITシステムを効果的に活用するための、お手伝いをさせていただいております
© 2023 竹内電設; all rights reserved.