如何通过 FTP 自动构建 Jekyll 站点并将其部署到网络服务器

How to automate building and deploying Jekyll site to webserver via FTP

我的 Jekyll 文件存储在 Bitbucket 中,我希望能够在每次推送新更改时自动生成 _site 文件夹。 (请注意,我不想将我的 _site 文件夹推送到 Git,那是不可能的。)

生成此 _site 后,我想通过 FTP 将其自动部署到我的网络服务器。

这可能吗?我有哪些选择?

由于您没有提到 _site 文件夹的位置,这里是一个通用的答案。

简而言之,您需要一个网络服务器或服务来侦听 Bitbucket Post Commit Hook。这是 relevant documentation

这样,在每次推送时,Bitbucket 都会触发操作并通知您的 server/app/service 然后它将构建新的 _site 并部署到您想要的位置。

这里有一个很好的教程,介绍如何使用 cron 作业和网络服务器进行设置。 Link.

一个简单的 VPS 也可以,或者一些小型 Amazon EC instance/Azure 虚拟机。

当然,这些可能不是 100% 免费的。

如果您不喜欢使用服务器,可以使用 a continuous integration (CI) 服务,在提交时挂钩将触发构建,

Travis-CI and Drone.io 对 public 个存储库是免费的,但如果您的存储库是私有的,则必须使用付费服务。还有很多其他的。

(注意 Travis-CI 在撰写本文时与 Bitbucket 不兼容。它适用于 GitHub。)

基本上 CI 用于 运行 测试,但除此之外,我们可以使用它来生成构建并将 _site 推送或复制到某个地方,也许是你的自己的服务器。或者在本文描述的情况下,另一个存储库。 (阅读 'Becoming a Jekyll God' 一些创造性的部署方式。)