如何通过 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' 一些创造性的部署方式。)
我的 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' 一些创造性的部署方式。)