Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

开启了 git info 但 Travis-CI 自动构建的文章修改日期始终为最新 #107

Closed
he-sb opened this issue Apr 8, 2020 · 9 comments
Labels

Comments

@he-sb
Copy link

he-sb commented Apr 8, 2020

配置文件中修改了:

enableGitInfo = true
[frontmatter]
    lastmod = ["lastmod", ":git", ":fileModTime", ":default"]

博客使用 Travis-CI 自动构建, .travis.yml 文件在 这里这里 ,这两个博客都是相同的状况;

测试了本地执行 hugo 生成的网站中修改日期是正确的 git 时间,但不知为何 Travis-CI 自动构建出来的网站,所有文章的修改日期都变成了触发了自动构建的时间,网上搜了一大圈也没看到有类似的情况……

@he-sb
Copy link
Author

he-sb commented Apr 8, 2020

补充:

本地系统为 Windows 10,已设置了使用 UTC 时间。

@reuixiy
Copy link
Owner

reuixiy commented Apr 9, 2020

尝试过 #27 没?

@he-sb
Copy link
Author

he-sb commented Apr 9, 2020

本地这个参数之前就设置过,而且 这篇文章 文件名是英文,但使用 Travis-CI 的话修改日期还是触发构建的日期,同时本地生成的 public 目录下的网站是没有问题的;

还尝试了修改 .travis.yml 文件,加上了这句:

before_install:
  - git config --global core.quotePath false

但构建出来问题依旧……

@reuixiy
Copy link
Owner

reuixiy commented May 6, 2020

注意到 depth 这个参数,是不是它的问题呢?

@he-sb
Copy link
Author

he-sb commented May 6, 2020

注意到 depth 这个参数,是不是它的问题呢?

这个也测试过了,抱歉上面忘记了,没提到这个。

之前测试的时候尝试过把 depth 参数去掉,以及 quiet 参数,都不起作用。

@reuixiy
Copy link
Owner

reuixiy commented May 6, 2020

无论如何,depth: 1 肯定得删除,不然只有一条历史。

你先将之删除,然后将 ls -algit log --pretty=format:"%h - %an, %ar : %s" 命令加入你的 .travis.yml,看看输出的日志,慢慢找问题,慢慢解决。

@he-sb
Copy link
Author

he-sb commented May 6, 2020

好的,我回头再折腾折腾再来反馈,最近事有点多……

其实这个问题和主题关系不大,应该就是 Travis-CI 的配置哪里出了问题,麻烦博主了。

@gears233
Copy link

gears233 commented Jul 7, 2020

我发现我也遇到了相同的问题,用的 github actions 🤣

@he-sb
Copy link
Author

he-sb commented Dec 7, 2020

好家伙,我终于知道问题出在哪了!

今天刚切换到 GitHub Actions 来完成 CI 任务,发现还是会出现这个问题,仔细对比了下 Actions 和 Travis 的日志,确定了是 git checkout 操作引起的。

至于解决办法:

  1. Travis CI

    无解,它的 git checkout 操作是在配置文件描述的操作之前就完成的,人为无法干预 😢

  2. GitHub Actions

    首先,不要使用很多教程中提到的 actions/checkout 这个 actions,这个东西是用来告诉 runner 当前的工作目录的,但是它的 checkout 操作会导致 hugo 找不到 git info 。。我个人是在 steps 里手动 git clone 的,然后后面的安装 hugo ,构建网站和部署都是手动操作,实测一次 CI 仅需 10s 左右,可以参考 我的 workflow

    好吧我也知道这样搞不够优雅,但是因为前面 git clone 的部分是手动操作的,后面的构建和部署步骤如果用别人写好的 actions 就会报错,个人推测是因为少了 checkout 步骤,后续步骤的 actions 执行的时候会找不到 clone 下来的 repo 的路径。

    最省事的办法其实就是直接使用作者写好的 actions 🤣

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants