在中间部署中,部署路径不适用于Git Deploy Method

时间:2016-08-27 03:22:51

标签: ruby git deployment middleman

我正在使用middleman-blogmiddleman-deploy

我想要做的是,在我部署的分支内,我希望将静态文件部署到repo中的子文件夹(即不是根文件夹)。

我尝试在config.rb中执行此操作:

activate :deploy do |deploy|
  deploy.build_before = true
  deploy.deploy_method = :git
  deploy.branch = 'gh-pages-2'
  deploy.remote = 'github'
  deploy.path = 'blog'
end

但是这不起作用,它仍然部署到根目录。实际上,它甚至没有创建我正在寻找的/blog文件夹。

当我在本地访问配置设置时,这些是我在:deploy下看到的设置:

:deploy
   :branch = "gh-pages"
   :build_before = true
   :clean = false
   :commit_message = nil
   :deploy_method = :git
   :flags = nil
   :host = nil
   :password = nil
   :path = "blog"
   :port = 22
   :remote = "github"
   :strategy = :force_push
   :user = nil

这向我表明路径属性设置正确。

我也尝试过deploy.path = '/blog',但仍然无效。

那么我怎样才能将它部署到我的仓库中的\blog\子文件夹而不是根目录?

不同宝石的版本如下:

middleman (4.1.10)
middleman-blog (4.0.1)
middleman-cli (4.1.10)
middleman-deploy (2.0.0.pre.alpha)

注意:我故意使用gh-pages-2,因为我不想覆盖当前的gh-pages而不确定它是否会部署到正确的子文件夹。

2 个答案:

答案 0 :(得分:0)

我认为您可以做的最简单的事情就是使用After build步骤编写扩展程序:https://middlemanapp.com/advanced/custom-extensions/#after_build。这样你就可以在构建过程中移动文件,而midman-deploy就可以推送整个构建文件夹了。

答案 1 :(得分:0)

如果您的网站的根目录也部署在 Github页面上,您可以创建另一个名为blog的仓库并在那里部署您的中间人网站。然后,通过为博客仓库启用GitHub页面,您实际上将其部署在yoursite.com/blog上。

这不是你期望的最好的解决方案,但对我来说效果很好