1
ybyl 2022-09-18 13:32:56 +08:00
小白看不懂,不会整。
|
2
arch9999 2022-09-18 19:39:45 +08:00 via iPhone
cfpages 可以指定 hugo 版本
|
3
stevenshum 2022-09-19 09:00:46 +08:00
楼上正解
还有一个方法就是,使用 [peaceiris/actions-gh-pages]( https://github.com/peaceiris/actions-gh-pages) 的 github actions 自动生成 Hugo 静态文件,推送到 gh-pages 或者 Cloudflare Pages ,以实现自动化部署 |
4
jyjmrlk OP @arch9999 @stevenshum 你好,可能是我写的不太清楚,文章写的不是怎么部署或者怎么指定 Hugo 版本,而是一旦 Hugo 发布了新版本,就自动用最新版 Hugo 重新编译并部署博客。
|
5
czyt 2022-09-20 00:49:17 +08:00
cloudflare 的 go api 自己写个
```go func updateHugoVersionEnv(project cloudflare.PagesProject, api *cloudflare.API) error { release, err := GetGithubLatestRelease("gohugoio/hugo") if err != nil { release = "0.103.1" } release = release[1:] ProductionEnv := make(map[string]cloudflare.PagesProjectDeploymentVar) ProductionEnv["HUGO_VERSION"] = cloudflare.PagesProjectDeploymentVar{Value: release} project.DeploymentConfigs.Production.EnvVars = ProductionEnv api.UpdatePagesProject(context.Background(), accountId, project.Name, project) return err } func GetGithubLatestRelease(repoName string) (string, error) { type Tag struct { ReleaseTag string `json:"tag_name"` } repo := fmt.Sprintf("https://api.github.com/repos/%s/releases/latest", repoName) resp, err := http.Get(repo) defer resp.Body.Close() if err != nil { return "", err } all, err := io.ReadAll(resp.Body) if err != nil { return "", err } var t Tag if err := json.Unmarshal(all, &t); err != nil { return "", err } return t.ReleaseTag, nil } ``` |
6
czyt 2022-09-20 00:55:08 +08:00
|