Travis CI自动部署Hexo博客
2021/8/15 23:06:07
本文主要是介绍Travis CI自动部署Hexo博客,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
为了方便博客管理,我是将博客源码放在resource
分支,最终生成部署的页面文件放在master
分支,每次更新博客都需要先提交博客文件,然后手动部署到GiHub Pages,次数一多就显得麻烦,而且还容易出错。那么有没有一种方法让这个过程自动化,在提交完博客文件后自动帮我们编译部署文件到GitHub上呢?很幸运有现成的工具可供使用,使用Travis-CI就可以将整个过程自动化,下面借用一张图片来说明Travis_CI的作用
准备工作
-
一个Hexo源码仓库,源码放在
resource
分支,编译后的文件放在master分支,类似于下面这样:
-
获取GitHub_Token
登录GitHub,在Settings / Developer settings / Personal access tokens
中,新建一个token,权限将repo选中就可以,生成的token一定要保存好,等会配置在Travis中,只会显示一次,丢失就需要再重新生成一个。
-
进入
Travis CI官网2021年6月15日Travis CI地址更改为 travis-ci.com,权限设置操作大体相同
Travis可以使用GitHub账号进行登录,进入设置(Settings),打开需要自动编译的公开仓库
然后点击右侧的Settings按钮,找到环境变量(Environment Variables),左侧填一个名字,右侧填写刚刚获取到的Github_Token,Display value in build log
按钮不要打开,打开后其他人就可以在日志文件中看到你的Github_Token
告诉Travis怎样编译我们的项目
在Hexo站点目录,也就是.config.yml
文件同级目录,创建一个名为.travis.yml
的文件
language: node_js # 语言 node_js: stable # node.js版本 cache: # 缓存,加快下次编译速度 directories: - node_modules branches: # 监控 resource分支,此分支发生变化就启动一次新的构建 only: - resource before_install: # 和自己电脑上安装的hexo-cli一样,也需要安装依赖环境 - npm install -g hexo-cli install: - npm install - npm install hexo-deployer-git --save script: # 编译Hexo - hexo clean - hexo generate after_script: # 编译完成后推送到GitHub上 - git config user.name "wrxiang" - git config user.email "wrxiang@163.com" #将.config.yml中的文字`Travis`替换为环境变量中的{Travis}代表的那串密码 - sed -i "s/Travis/${Travis}/g" ./_config.yml - hexo deploy
我们还需要修改_config.yml文件的deploy节点
#修改前 deploy: - type: git repo: git@github.com:wangruix/wangruix.github.io.git branch: master
#修改后 deploy: - type: git # 下方的gh_token会被.travis.yml中sed命令替换 repo: https://Travis@github.com/wangruix/wangruix.github.io.git branch: master
最后将新创建的.travis.yml
文件提交到源码路径
我们就可以新增一篇博客,完成后将博客提交到源码分支,然后就可以到Travis查看构建情况,Job log中可以查看详细的构建日志
Travis构建完成后会将生成的文件推送到Github上,这样我们只需要提交博客的源文件,然后Travis帮我们完成构建部署过程,博客发布更新更加方便了。
参考文章
Travis CI使用经验
用TravisCI持续集成自动部署Hexo博客的个人实践
这篇关于Travis CI自动部署Hexo博客的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-01使用 SVN合并操作时,怎么解决冲突的情况?-icode9专业技术文章分享
- 2025-01-01告别Anaconda?试试这些替代品吧
- 2024-12-31自学记录鸿蒙API 13:实现人脸比对Core Vision Face Comparator
- 2024-12-31自学记录鸿蒙 API 13:骨骼点检测应用Core Vision Skeleton Detection
- 2024-12-31自学记录鸿蒙 API 13:实现人脸检测 Core Vision Face Detector
- 2024-12-31在C++中的双端队列是什么意思,跟消息队列有关系吗?-icode9专业技术文章分享
- 2024-12-31内存泄漏(Memory Leak)是什么,有哪些原因和优化办法?-icode9专业技术文章分享
- 2024-12-31计算机中的内存分配方式堆和栈有什么关系和特点?-icode9专业技术文章分享
- 2024-12-31QT布局器的具体使用原理和作用是什么?-icode9专业技术文章分享
- 2024-12-30用PydanticAI和Gemini 2.0构建Airflow的AI助手