hexo使用githubaction自动部署至腾讯云开发静态网站托管服务以及githubpages

author author     2023-05-02     411

关键词:

参考技术A 原文地址: https://blog.kaygb.com/210.html

谈及静态网站的好处,无非是快速轻量,甚至无需购买服务器,使用github pages或者coding等托管即可实现。同时,jsdelivr可对github公开仓库的静态资源进行加速,并且自带全球cdn,快速,并且完全免费。

近期,我的博客网站也迁移到了hexo,并托管在github pages,由于之前申请过腾讯云开发的9.9元静态网站托管服务,本着不用白不用的原则,我把国内的线路以及博客生成的页面都放在了腾讯云开发静态网站托管服务上。

首先在本地安装hexo环境,配置好主题以及自定义的配置,然后将整个hexo目录推送到github私有仓库。私有仓库在接受到push之后,使用github action进行hexo g和hexo deploy,将生成的静态文件推送到另一个以 用户名.github.io 为名称的仓库。

如你所见,我们需要使用两个github仓库来构建我们的个人博客,其中私有仓库(我们可以将名称设置为blog-source)作为博客源文件保存目录,包含所有的hexo配置文件以及我们的主题文件。

这样的好处就是,我们可以完整保留hexo的目录,不用担心文件丢失的问题,还有就是我们可以直接在github网页端直接进行文章的写作,并且支持原生的github markdown格式。

在我们commit之后 github action会自动帮我们构建以及发布,我们只需要安心写作即可。

这一步可以根据hexo官方文档来进行配置。

https://hexo.io/zh-cn/docs/

一个是私有的仓库,用来存放hexo所有的源文件,另一个是公开的以 用户名.github.io 的仓库。

使用ssh-keygen生成一组公私秘钥对

在 Settings -> SSH and GPG keys 添加刚刚生成的公钥,名称随意。

在私有仓库的 Settings -> Secrets 里添加刚刚生成的私钥,名称为 ACTION_DEPLOY_KEY 。

在hexo目录创建 .github 文件夹,并在里面创建 workflows 文件夹,然后在里面新建 blog.yml

贴出我的GitHub action配置文件,后面再进行讲解。

其中,在31至38行内,可以添加自己所使用的hexo插件,如果本地测试的时候使用了此插件,一定要记得将那个插件的npm安装命令写在那里。

云开发Cloudbase提供了可直接使用的action: https://github.com/marketplace/actions/tencent-cloudbase-github-action

在腾讯云开发控制台获取token: https://console.cloud.tencent.com/cam/capi

然后在项目 Setting/ Secrets 里设置 SECRET_ID , SECRET_KEY , ENV_ID 信息

根据文档做出修改然后添加在blog.yml后面

同时,目前我也遇到很多问题,包括到现在为止还无法解决的问题。

一般来说是无法推送 .git 目录的,如果你使用的主题是直接使用git clone下来的,那么一定就会存在 .git 目录,这时我们可以在.gitignore文件内忽略此目录或者直接删除.git文件夹。由于我是直接删掉文件夹,所以另一种方式请大家自行尝试。

其实我最开始是想在公开仓库设置一个github action,在推送到公开仓库之后再由公开仓库的action推送到腾讯云 开发,但是不知道为何hexo deploy的时候无论如何都不会将 .github 文件夹推送上去,即使配置了 skip_render 和 include 也不行,但是我在本地hexo g的时候就可以在public目录生成 .github 文件夹,并且我在网页端公开仓库尝试创建action文件,可以推送成功,但是私有仓库推送之后action文件就会被覆盖,目前暂时无法解决这个问题。

所以只能妥协在同一个仓库进行构建推送,由于处理的文件较多,所以每次的部署都会给我发送一封构建失败的邮件,但它其实是已经部署成功了,我查找了很多的资料,目前暂未解决这个问题,如果您遇到这个问题并且具有解决办法,烦请您告知,非常感谢!

https://juejin.im/post/5da03d5e6fb9a04e046bc3a2

hexo+githubactions完美打造个人博客(代码片段)

...中文进行查看。Hexo搭建步骤安装Git安装Node.js安装Hexo编写githubactions推送到github发布文章我们的开发过程是在 查看详情

hexo+githubactions完美打造个人博客(代码片段)

...中文进行查看。Hexo搭建步骤安装Git安装Node.js安装Hexo编写githubactions推送到github发布文章我们的开发过程是在 查看详情

hexo博客之腾讯云部署过程(代码片段)

...准备写三篇关于Hexo博客搭建的博文:关于Hexo博客腾讯云部署过程关于Hexo博客NexT主题的美化插件设置 点击这里关于Hexo博客添 查看详情

通过githubaction自动部署maven项目

...了弥补这一点,我抓包分析了一下NexusAPI并且开发了一个GithubAction(maven-nexus-release)用于自动的Close和Release,从而达到真正的全 查看详情

前端项目自动化部署——超详细教程(jenkinsgithubactions)

本教程主要讲解了怎么使用Jenkins和GithubActions部署前端项目。第一部分是使用Gitea配置局域网git服务器,再使用Jenkins将Gitea下的项目部署到局域网服务器。第二部分是使用GithubActions将Github项目部署到GithubPage和阿里云。阅读本教程... 查看详情

利用travisic实现hexo博客自动化部署

...道也不要方先看一看下面推荐的这两篇文章。手把手教你使用Hexo+GithubPages搭建个人独立博客——令狐葱Hexo+github打造个人博客——zdy0_2004还有一个专栏:Hexo/总共13篇——水寒感谢以上 查看详情

腾讯云搭建hexo博客

...动2.4nginx部署2.4域名DNS配置3.本地搭建hexo,git推送到腾讯云自动部署4.小结1.腾讯云学生认证购买在阿里云和华为云购买失败的前提下,最终找到了腾讯云的购买,学生认证后价格只要10块一月,域名16一年,价格真香,我选择是cent... 查看详情

使用travis-ci自动化部署hexo博客(代码片段)

使用Travis-CI自动化部署Hexo博客TravisCI是开源的持续集成构建项目,用来构建托管在GitHub上的代码。架构图如下:整个流程就是本地编辑*.md文件,然后push到github中source分支,Travis-CI检测到分支更新从而根据配置文件建立虚拟机进... 查看详情

github之githubactions的项目自动化持续集成和部署(代码片段)

一、基本概念GitHubActions是一个由事件驱动的自动化平台,通过设置触发条件,在某些事件发生时自动运行指定的操作。换言之,GitHubActions不仅允许开发人员在平台上托管代码,还可以操作它,通过GitHubActions&#... 查看详情

在githubactions上进行flutter的测试和部署(代码片段)

GitHubActions可轻松实现所有软件工作流程的自动化。直接从GitHub构建,测试和部署代码。使代码审查,分支机构管理和问题分类工作按您想要的方式进行。记得在19年底的时候,我看到了RunFlutterDrivertestsonGitHubActions这篇... 查看详情

hexo+coding实现自动化部署(代码片段)

...过TravisCI整的,但我的源文件在coding呀!于是我便尝试了使用coding自动化部署。为什么要使用自动部署呢?因为随着我们的长时间写文章,生成时间也就更长。在加上要加载插件。如果你换一个电脑更明显,首先你要安装node环境... 查看详情

使用hexo搭建静态博客(代码片段)

目录Hexo简介什么是Hexo?Hexo安装Hexo建站Hexo配置Hexo自定义主题Hexo写作Hexo服务器Hexo生成与发布一键部署Hexo站点到githubpagesGithub仓库准备安装hexo-deployer-git插件修改_config.yml配置部署站点一键部署到自己的云服务器配置Nginx反向代理... 查看详情

githubaction开启自动化(代码片段)

...突然发现公司项目的GitHub代码库多了一个Tab页,叫做GitHubAction。于是了解了一下,发现这就是大家期待已久的自动化功能。自动化不只是我们常说的CICD(持续集成和持续部署),通过定义一个yml文件我们可以... 查看详情

hexo与github博客搭建+自动部署+反向代理资源找不到问题+各种踩坑(代码片段)

...需要准备:Hexo的搭建初始化主题的选择上传github部署自动action反向代理成功!前言:Hexo搭建确实是一个便捷灵活的博客框架,但是里面不免存在很多坑。在这里我将逐步分享到最后的反向代理成功此时我已经完... 查看详情

hexo部署github博客(代码片段)

Hexo部署github博客一、简介使用github创建一个仓库为github.io就能变成一个使用域名能够访问的博客站点。然后我们通过Hexo创建文章,发布到github.io仓库,Hexo是一个快速、简洁且高效的博客框架。Hexo使用Markdown(或其他... 查看详情

githubaction部署到阿里云ecs

参考技术AACCESS_TOKEN阿里云服务器要部署你本机的公钥/root/.ssh/authorized_keys,这里的私钥才能使用可以在阿里云服务器商添加密钥对,导入本机上的id_rsa_pub公钥,这个存放在.ssh/下面,然后重启实例之后,使用本机的id_rsa私钥配置... 查看详情

markdown如何使用hexo并部署到github页面(代码片段)

查看详情

markdown如何使用hexo并部署到github页面(代码片段)

查看详情