作者:Bruno Borges
排版:Alan Wang
无需手动编辑任何 DNS 记录,只需约 14 分钟,即可从一个空白仓库快速部署到启用了 HTTPS 的自定义域名网站。

在这里插入图片描述

自定义域名会让一个项目更具“正式上线”的感觉。但对许多开发者来说,DNS 这“最后一公里”往往也是最令人头疼的环节:A 记录、CNAME 记录、TTL,以及那段漫长的等待时间——你永远无法确定,到底是互联网出了问题,还是自己配置错了。

在这篇文章中,我将介绍如何从一个空白仓库开始,在大约 14 分钟 内完成整个流程:将项目部署到自定义域名,并启用 HTTPS,全程无需手动编辑任何一条 DNS 记录。关键在于借助 GitHub Copilot CLI 驱动整个流程,并利用社区提供的 Namecheap Skill,通过域名注册商的 API 自动完成 DNS 配置。

你将学会如何:

  • 使用 GitHub Pages 发布网站

  • 注册一个价格低廉的域名

  • 启用域名注册商的 API,并将其连接到 Copilot CLI

  • 将域名指向 GitHub Pages,并完成端到端验证

你需要准备什么

  • 一个 GitHub 账号(免费版即可)

  • 已安装并完成 GitHub Copilot 身份验证的 GitHub Copilot CLI

  • 一个 Namecheap 账号,用于购买域名并使用其 API

无需具备任何 DNS 相关经验——这正是本文的意义所在。让我们开始吧。⤵

第一步:使用 GitHub Pages 发布网站

任何部署流程都需要有可部署的内容,因此首先需要为网站创建一个新的公开仓库。
在这里插入图片描述

仓库创建完成后,你无需手动编写 index.html、提交代码,再逐个点击 GitHub Pages 的配置页面。只需告诉 Copilot CLI 你希望达到什么效果,它就会为你创建网站首页,并自动启用该仓库的 GitHub Pages。

在这里插入图片描述

现在,网站已经通过一个 github.io 地址成功上线。这是一个不错的开始,接下来,让我们为它配置一个真正的自定义域名。

第二步:注册一个价格低廉的域名

为一个个人项目上线,并不需要购买昂贵的 .com 域名。在本次演示中,我选择了目前价格最低的顶级域名之一 .click,并搜索了一个可用的域名。

ghpagesblog.click 恰好尚未被注册,于是我直接进入结算页面。

最终费用为 2.00 美元(约 2.46 加元)。对于想给个人项目配置一个自定义域名来说,这是一个几乎没有试错成本的价格。

第三步:将域名连接到 GitHub Pages

这是开发者最容易望而生畏的一步。在这里,AI 助手会负责完成那些重复、繁琐的操作,而你仍然掌握所有关键决策。

启用 Namecheap API

在 Copilot CLI 能够修改 DNS 配置之前,你需要先启用 Namecheap 的 API。登录 Namecheap 账号后,依次进入 Profile → Tools,滚动到 Business & Dev Tools,然后点击 Namecheap API Access 下方的 Manage
在这里插入图片描述

你也可以直接访问 API 配置页面(请注意,该页面 URL 后续可能会发生变化)。

在该页面完成以下三项配置:

  • 将 API 开关切换为 ON

  • 将调用 API 的计算机公网 IP 地址添加到 IP 白名单(Namecheap 将该字段标记为 Whitelisted IPs)。

  • 复制 API Key,并妥善保存,稍后将会用到。

如果希望进一步了解 Namecheap API 提供的能力,可以参考 Namecheap API Introduction 文档

安装 Namecheap Skill

接下来,安装 Namecheap Skill,让 Copilot CLI 具备与 Namecheap 通信的能力。只需执行一条命令:

gh skill install github/awesome-copilot namecheap --scope user

第一次让 Copilot 执行类似“列出我的 Namecheap 域名”这样的操作时,它会确认 Skill 已正确配置,并提示你输入 Namecheap 用户名。
在这里插入图片描述

随后,它会要求你输入之前复制的 API Key
在这里插入图片描述

完成凭证配置后,Copilot 会返回你账号中的域名列表。这也是验证整个配置是否正确连接、并在正式修改 DNS 前进行检查的一种快捷方式。

在这里插入图片描述

将域名指向 GitHub Pages

现在,将域名连接到网站。只需让 Copilot 使用 Namecheap Skill 为 GitHub Pages 配置自定义域名。
在这里插入图片描述

优秀的自动化工具会在执行操作前征求你的确认。因此,在修改任何 DNS 记录之前,Skill 会暂停并询问你是否确认执行此次变更。
在这里插入图片描述

当你确认后,它会将现有的 Namecheap 停放记录替换为 GitHub Pages 所需的 A 记录,并为 WWW 子域添加 CNAME 记录,这正是 GitHub Pages 官方推荐的 DNS 配置方式,与 GitHub 文档中配置 GitHub Pages 自定义域名的步骤完全一致。
在这里插入图片描述

与此同时,它还会完成仓库侧的配置,自动提交一个 CNAME 文件,用于告诉 GitHub Pages 网站应响应哪个自定义域名。

不使用 Namecheap?

只要域名注册商提供 API,这种方式同样适用。你并不需要专门针对某个注册商开发的 Skill,只需让 Copilot CLI 阅读并理解该注册商的 API 文档,然后利用这些 API 为你的域名配置 GitHub Pages 所需的 DNS 记录即可。域名注册商可以不同,但整个工作流程保持一致。

第四步:验证部署

Copilot CLI 不会假设部署已经成功,而是会主动验证自己的工作结果。首先,它会确认域名解析是否正确。

在这里插入图片描述

随后,它会验证网站是否能够正常访问,并返回 HTTP 200 响应。

如果你希望查看整个过程中的每一次 Prompt 和 Copilot 的响应,可以参考完整 Copilot CLI 会话 Gist

最后来看一下整个时间线。域名购买时间为美国东部时间上午 11:21:27

约在美国东部时间 11:35,网站已经通过自定义域名成功上线,并启用了 HTTPS。也就是说,从一无所有到完成网站部署,包括:API 配置、Skill 安装、DNS 配置、DNS 生效、最终验证。整个过程仅用了约 14 分钟

总结

DNS 配置本身并不算困难,但步骤繁琐、容易出错,而且通常需要等待较长时间才能知道配置是否正确。借助 GitHub Pages、GitHub Copilot CLI 和 Namecheap Skill,部署自定义域名过程中那些重复性的工作,都可以简化为一次简短的对话:你负责做出决策并确认变更,而工具则负责完成底层配置。

如果你一直因为 DNS 配置太麻烦而迟迟没有为项目启用自定义域名,那么这套工作流程可以显著降低整个过程的复杂度。想进一步了解,可以阅读 GitHub Pages 官方文档以及为 GitHub Pages 网站配置自定义域名的指南,并在你的下一个项目中亲自体验这一流程。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐