部署路径不适用于中间人部署中的 Git 部署方法

Posted

技术标签:

【中文标题】部署路径不适用于中间人部署中的 Git 部署方法【英文标题】:Deploy path doesn't work for Git Deploy Method in middleman-deploy 【发布时间】:2017-01-03 18:23:21 【问题描述】:

我正在使用middleman-blog 和middleman-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',但还是不行。

那么如何才能将其部署到我的 repo 中的 \blog\ 子文件夹而不是根目录?

不同gem的版本如下:

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

【问题讨论】:

github.com/middleman-contrib/middleman-deploy/issues/114 不能帮忙吗? (如github.com/middleman-contrib/middleman-deploy/issues/…)。另外,您现在还有另一种只使用一个分支的方法:***.com/a/27202100/6309 【参考方案1】:

我认为您可以做的最简单的事情是编写一个带有构建后步骤的扩展:https://middlemanapp.com/advanced/custom-extensions/#after_build。这样,您在构建过程中移动文件,middleman-deploy 就可以推送整个构建文件夹。

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于部署路径不适用于中间人部署中的 Git 部署方法的主要内容,如果未能解决你的问题,请参考以下文章

部署到 iPhone 设备不适用于 Xamarin.iOS,“没有 iOS 签名身份匹配”

windows+ant+git+tomcat中ant直接获取git项目部署注意点

为啥我的容器注册表适用于 gitlab 自动部署,但不适用于我的自定义管道?

为啥 ExcludeFromPackageFolders 不适用于 msbuild?

Azure 管道不适用于生产

weblogic中间件部署的项目,当访问路径找不到资源时,如何让页面不显示资源路径