Contents

使用Hugo自搭博客系列四:部署

手动部署

参考github page

  • 注意,git仓库需要是public的;下面自动的不用

自动部署

Travis CI官网

Netlify官网

Vercel

AWS Amplify

Netlify

参考Netlify部署Hugo个人博客Hugo Algolia搜索及Netlify自动化处理 ,这位博主写的很详细了,我就不写了。

AWS Amplify

  • 我目前换成了这个来部署,之前使用的Netlify,总是间歇性卡顿,很卡的那种

  • 关于亚马逊云的使用还是有点麻烦的,亚马逊中国只支持企业,个人体验需要用注册海外账户

https://static.duan1v.top/images/2b7b0f90a0ee37d6cc115e541fdc18ba.png
博客自动部署
  • 相比于Netlify,直接使用的不是extended,这会导致样式加载不生效,可以使用下面贴的 amplify.yml

  • 其他的环境变量和上面的Netlify差不多,将 HUGO_VERSION 改为 VERSION_HUGO

Vercel

  • AWS Amplify的工作人员打电话给我,说服务都是免费一年的;我心想,我可是想着白嫖永久的;好吧,那就清理资源,销号

  • 转头Vercel,折腾过上面两个之后,也很简单;

  • 目前我的图床、评论、博客都是放在github上的,由Vercel部署的

贴下几个文件

  • 根目录下的.gitignore
1
2
3
4
.env
node_modules
.idea
.vscode
  • 根目录下的netlify.toml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[build]
publish = "public"
command = "hugo --gc --minify --theme=even && npm install atomic-algolia --save && npm run algolia"

[context.production.environment]
HUGO_VERSION = "0.101.0"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"

[context.split1]
command = "hugo --gc --minify --enableGitInfo"

[context.split1.environment]
HUGO_VERSION = "0.101.0"
HUGO_ENV = "production"

[context.deploy-preview]
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"

[context.deploy-preview.environment]
HUGO_VERSION = "0.101.0"

[context.branch-deploy]
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"

[context.branch-deploy.environment]
HUGO_VERSION = "0.101.0"

[context.next.environment]
HUGO_ENABLEGITINFO = "true"

[[redirects]]
from = "/npmjs/*"
to = "/npmjs/"
status = 200
  • public目录下的.gitignore
1
2
*
!.gitignore
  • amplify.yml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
version: 1
frontend:
  phases:
    preBuild:
      commands:
        - wget https://github.com/gohugoio/hugo/releases/download/v${VERSION_HUGO}/hugo_extended_${VERSION_HUGO}_Linux-64bit.tar.gz
        - tar --overwrite -xf hugo_extended_${VERSION_HUGO}_Linux-64bit.tar.gz hugo
        - mv hugo /usr/bin/hugo
        - rm -rf hugo_extended_${VERSION_HUGO}_Linux-64bit.tar.gz
        - hugo version
        - hugo --gc --minify --buildFuture 
        - npm install atomic-algolia --save 
    build:
      commands:
        - hugo --gc --minify --theme=loveit --enableGitInfo=false 
        - npm run algolia
  artifacts:
    baseDirectory: public
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
coffee