美文网首页
博客发表时间随更新变为更新时间的问题

博客发表时间随更新变为更新时间的问题

作者: 馒头先生啊 | 来源:发表于2019-06-21 02:45 被阅读0次

近期,在更新完文章利用 Travis CI 自动部署后,偶然发现文章的发表时间随着更新变为更新时间。对于这个问题,思考后暂时考虑问题出在 Travis CI 自动部署上,因为每次自动部署后时间都与部署时刻时间一致。


猜想验证

步骤(一)使用传统 hexo ghexo d 方法部署

部署完成后发现文章发表时间与更新时间出现了变化,发表时间为 Tracis CI 自动部署建立好后的时间,而更新时间则为此次作变化后传统部署后的时间,因此确定问题出现在 Travis CI 自动部署上。

步骤(二)检查 Travis CI 自动部署文件

打开 Travis CI 自动部署文件 .travis.yml 查看:

language: node_js
node_js: stable

cache:
  directories:
    - node_modules

before_install:
  - export TZ='Asia/Shanghai' # 更改时区
  - npm install hexo-cli -g

install:
  - npm install
  - npm install hexo-deployer-git --save

script:
  - hexo clean
  - hexo generate

after_script:
  - cd ./public
  - git init
  - git config user.name "xuezheng-wei"
  - git config user.email "weixuezheng1994@gmail.com"
  - git add .
  - git commit -m "Travis CI Auto Updated"
  - git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master

branches:
  only:
    - hexo
env:
 global:
   - GH_REF: github.com/xuezheng-wei/xuezheng-wei.github.io.git

发现其执行完 hexo generate 后不是直接执行 hexo deploy ,而是切换到 hexo 分支 public 目录下将更新的文件强制提交到 master 分支,故可能无法区分发表时间和更新时间。

步骤(三)解决方法

(1)在 .travis.yml 文件中加入 hexo deploy 以便自动部署时可以执行此命令,但添加 hexo deploy 后存在问题,access 接入报错,且有 token 私钥泄漏风险。处理比较麻烦,故未采用此解决方法。
(2)更新文章时在 front-matter 中加入 date 来固定文章建立日期。
(3)取消 Travis CI 自动部署,采用 hexo ghexo d 传统方法上传部署。


总结

使用 Travis CI 自动部署 hexo 博客虽然在一定程度上简化了上传部署的步骤,但在 hexo 博客这块仅仅是取代了传统上传部署的 hexo clean、hexo g、hexo d 等命令,作用有限。也可能是因为对 Travis CI 自动部署认知不够,使用稍有障碍,因此考虑决定回用原传统上传部署手段。


相关文章

网友评论

      本文标题:博客发表时间随更新变为更新时间的问题

      本文链接:https://www.haomeiwen.com/subject/rhceqctx.html