部署路径不适用于中间人部署中的 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 自动部署,但不适用于我的自定义管道?