5.配置自定义域名
在本篇博客中,我们将介绍如何使用 GitHub Actions 来实现 Hexo 博客的自动化部署,并且配置 自定义域名,确保 GitHub Pages 部署后不会丢失域名设置。
1. 配置 GitHub Actions
1.1 修改 .github/workflows/deploy.yml 文件
在 deploy.yml 文件中添加hexo deploy --cname <name>到下面位置:
1 | |
2. 配置自定义域名
2.1 在阿里云配置域名解析
如果你使用的是 阿里云 购买的域名,需要在 阿里云 DNS 控制台 添加解析记录。
- 进入 阿里云控制台 → 公网 DNS 解析 → 权威域名解析。
- 选择你的域名,点击 添加记录 或 新手引导。
- 记录类型 为
CNAME或A。 - 主机记录 选择:
www(用于www.yourdomain.com)@(用于yourdomain.com)。
- 记录值 中填写你的 GitHub Pages 地址,例如:
artintyt.github.io - 点击 保存。
- 具体参考下面格式:只需要修改你的 Github Pages 地址即可,其他不变。
-
根域名
@设置 A 记录,指向 GitHub Pages 的 IP 地址。确保你添加以下四条 A 记录:185.199.108.153185.199.109.153185.199.110.153185.199.111.153
-
设置
www子域名的 CNAME 记录,指向artintyt.github.io(你的 GitHub Pages 地址)。主机记录 记录类型 记录值 @A 185.199.108.153@A 185.199.109.153@A 185.199.110.153@A 185.199.111.153wwwCNAME artintyt.github.io
-
2.2 生成 CNAME 文件
如果你的博客使用自定义域名(如 neurowave.tech),你需要在 source/ 目录下创建 CNAME 文件:
1 | |
然后提交到 main branch:
1 | |
你也可以手动创建一个叫 CNAME 文件到 source/。
2.3 确保 CNAME 在 Hexo 部署时不会丢失
在 Hexo 的 _config.yml 文件中,确保 deploy 部分包含 cname 和你的自定义域名:
1 | |
2.4 在 GitHub Pages 启用自定义域名
- 进入 GitHub 仓库 → Settings → Pages。
- 在 Custom domain 输入
neurowave.tech。 - 勾选 "Enforce HTTPS",确保 HTTPS 正常工作。
- 等待 GitHub 解析你的域名,通常需要几分钟。
2.5 添加 TXT 记录用于域名认证
-
GitHub Pages 要求你在 DNS 中添加一个 TXT 记录 来验证你对域名的所有权。以下是你需要在 Cloudflare DNS 中添加的记录:
- 在 Cloudflare DNS 配置页面 中,添加 TXT 记录:
- 主机记录:@(根域名)
- 记录类型:TXT
Name类似: github-pages-challenge-artintyt="xxxx-xxxx-xxxx"Content类似: "adfsaskdfjsdjxxfjdksj"
-
保存配置并等待生效。
-
可以通过 dnschecker.org 检查 TXT 记录是否已经传播到全球 DNS。
-
你可以参考 GitHub 官方文档的详细步骤:GitHub Pages 配置域名验证
重要提示:防止域名盗用:
为了 防止域名被盗用,确保你按照 GitHub 的要求在 DNS 中添加正确的 TXT 记录,通过 GitHub 验证你对域名的所有权。这个步骤可以防止他人伪造和篡改你的域名配置,从而保护你的站点不受恶意攻击。在完成 TXT 记录配置后,GitHub 会自动检测并验证你对域名的所有权。这样不仅确保了你对域名的控制权,还提升了安全性。
3. 提交并触发 GitHub Actions
执行以下命令,将 deploy.yml 配置文件提交到 GitHub:
1 | |
推送代码后,GitHub Actions 会自动执行部署。
4. 检查 GitHub Actions 是否成功
-
查看 Actions 运行状态
- 打开 GitHub 仓库。
- 点击 Actions 选项卡。
- 查看最新的 Workflow 运行记录。
- 如果显示绿色 ✅,说明部署成功;如果失败,则查看日志分析问题。
-
访问你的博客
GitHub Pages 更新可能需要几分钟,稍等后访问:https://neurowave.tech如果看到最新内容,说明部署成功!🎉
5. 本地更新博客并推送
当你本地修改博客内容后,使用以下命令提交并触发 GitHub Actions:
1 | |
然后清除缓存,生成新的静态页面,并部署到 Github:
1 | |
6. 总结
- 配置 GitHub Actions,让博客自动部署。
- 创建
CNAME文件,并确保 Hexo 部署时不会丢失自定义域名。 - 每次
hexo deploy,GitHub Actions 自动触发部署。 - GitHub Pages 自动更新,无需手动运行
git push。
这样,你的 Hexo 博客就实现了 全自动化部署,并且保留自定义域名 🎉!
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付