介绍
在服务器上配置好 SSH 协议后,可以使用 Git 将仓库推送到服务器并使用钩子执行构建网站操作。rsync 方案要求平台必须支持,但 Windows 上默认并没有,Git for Windows 中也不带。使用 Git 仓库推送可以最小化需要传输的文件大小,并且可以增量传输,较为方便。
环境
- Windows 11 23H2
- Git for Windows 2.41.0
- Hugo 0.84.0
服务器
参考 博客迁移到 Ubuntu 22.04 - 狂飙 搭建好网站。
1 2 3 4 5 6 7 8 9 10 11
|
# 创建远程仓库 git init --bare networm.me.git # 下载 Hugo 并解压 wget https://github.com/gohugoio/hugo/releases/download/v0.84.0/hugo_0.84.0_Linux-64bit.tar.gz tar -zxvf hugo_0.84.0_Linux-64bit.tar.gz # 创建推送钩子 vi networm.me.git/hooks/post-receive chmod +x networm.me.git/hooks/post-receive sh networm.me.git/hooks/post-receive
|
在服务器中手动执行以上步骤,其中 networm.me.git/hooks/post-receive
文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 12
|
#!/bin/sh set -x SITE=/home/networm/networm.me HUGO=/home/networm/hugo DESTINATION=/var/www/networm.me/html/ mkdir -p $SITE git --work-tree $SITE clean -df git --work-tree $SITE checkout --force $HUGO --source $SITE --gc --cleanDestinationDir --destination $DESTINATION
|
本地
setup.sh
deploy.sh
1
|
git push --force website
|
将以上内容分别存为对应的文件,方便后续迁移到不同设备重新初始化使用。之后在部署时只需要执行 deploy.sh
即可。
预览
hugo.sh
1 2 3
|
#!/bin/sh ../hugo_extended_0.84.0_Windows-64bit/hugo.exe server --buildDrafts
|
使用相对路径引用 hugo 并指定构建草稿,方便本地测试。
共有 0 条评论