如何通过FTP自动构建和部署Jekyll站点到Web服务器

如何通过FTP自动构建和部署Jekyll站点到Web服务器,ftp,bitbucket,jekyll,automated-deploy,automated-deployment,Ftp,Bitbucket,Jekyll,Automated Deploy,Automated Deployment,我的Jekyll文件存储在Bitbucket中,我希望能够在每次推送新更改时自动生成_站点文件夹。(注意,我不想将我的_站点文件夹推送到Git,这是不可能的。) 一旦生成了这个_站点,我想通过FTP自动将它部署到我的Web服务器上 这有可能吗?我的选择是什么?因为你没有提到\u站点文件夹将放在哪里,这里是一个一般性的答案 简而言之,您需要一个Web服务器或一个侦听Bitbucket提交后钩子的服务。这是解决这个问题的方法 这样,每次推送时,Bitbucket都会触发操作并通知您的服务器/应用程序

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

一旦生成了这个_站点,我想通过FTP自动将它部署到我的Web服务器上


这有可能吗?我的选择是什么?

因为你没有提到
\u站点
文件夹将放在哪里,这里是一个一般性的答案

简而言之,您需要一个Web服务器或一个侦听Bitbucket提交后钩子的服务。这是解决这个问题的方法

这样,每次推送时,Bitbucket都会触发操作并通知您的服务器/应用程序/服务,然后服务器/应用程序/服务将构建新的
\u站点
,并部署到您想要的位置

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

一台简单的Amazon EC实例/Azure虚拟机也可以工作

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

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

并且对于公共存储库是免费的,但是如果您的存储库是私有的,您就必须使用付费服务。还有很多其他的

(注意:撰写本文时,Travis CI与Bitbucket不兼容。它与GitHub兼容。)


基本上,CI用于运行测试,但除此之外,我们可以使用它生成一个构建,并将
\u站点
推送或复制到某个地方,可能是您自己的服务器。或者在本文如何描述它的情况下,使用另一个存储库。(阅读有关部署的一些创造性方法。)

感谢MatrixAnomly的巨大响应!“我的站点”文件夹的内容将转到Web服务器上的“我的公共html”文件夹。目前我的问题是,我没有对Web服务器的root访问权限,因为它是共享主机,所以我实际上无法侦听那里的post-commit钩子。我的意图是使用一个单独的VPS来监听post-commit钩子,在VPS上构建_站点,然后将其FTP到我的Web服务器。你提供的关于cron作业和flask的链接对此是否仍然有效?@jmak35我不明白为什么它不起作用,只要你能获得单独的VP,可以监听钩子构建并将FTP发送到你的Web服务器,它就应该起作用。然而,我从来没有做过这样的设置,所以我不能保证任何事情,所以你最好尝试一下,并写一篇关于它的文章:P Cron作业和shell脚本可能也能工作!(编辑:或者你可以将你的jekyll源代码移动到github页面,并使用travis ci作为钩子,如果你愿意付费,一个私人的也可以)这里有一个关于travis构建路线的教程:谢谢@matrixanomaly,我不是一个很好的管理员,所以我对设置VPS没有信心。但我会试一试的。一旦安装了Linux发行版,我就不知道还需要安装什么才能使其运行。。。比如说安全性,以及我可能需要的任何东西。@jmak35我建议您使用github页面,travis route,无需处理所有这些。注意:您现在(2020年10月)拥有了。