中间人部署从根而不是构建目录推送
middleman-deploy pushes from root instead of build dir
背景
我正在使用中间人部署部署到组织的 github 页面。
据我了解,中间人构建目录(在本例中为 /build
)将部署到 github。即bundle exec middleman build
后的文件目录,包括index.html文件。
我在 github 存储库中得到的是项目的根目录。我正在使用 bundle exec middleman deploy --build-before
config.rb
activate :deploy do |deploy|
deploy.method = :git
deploy.remote = 'https://github.com/FiercePunchStudios/fiercepunchstudios.github.io.git'
deploy.branch = 'master'
end
问题
如何使用中间人部署将我的中间人网站部署到 github 组织 页面?
感谢@robinbortlik,在 github 问题上有一个方便的小扩展。 https://github.com/middleman-contrib/middleman-deploy/issues/114#issuecomment-168139237
#lib/build_cleaner.rb
class BuildCleaner < Middleman::Extension
def initialize(app, options_hash={}, &block)
super
FileUtils.rm_rf app.config[:build_dir]
end
end
::Middleman::Extensions.register(:build_cleaner, BuildCleaner)
#config.rb
require_relative "./lib/build_cleaner"
configure :build do
activate :build_cleaner
end
这会在构建操作之前删除构建目录。现在你可以只执行一个命令,比如 bundle exec middleman deploy --build-before
我仍然不考虑解决这个问题,因为我不想在我开始的每个中间人项目中都添加样板文件。但是,这是一个方便的解决方法,可以暂时简化部署过程。
背景
我正在使用中间人部署部署到组织的 github 页面。
据我了解,中间人构建目录(在本例中为 /build
)将部署到 github。即bundle exec middleman build
后的文件目录,包括index.html文件。
我在 github 存储库中得到的是项目的根目录。我正在使用 bundle exec middleman deploy --build-before
config.rb
activate :deploy do |deploy|
deploy.method = :git
deploy.remote = 'https://github.com/FiercePunchStudios/fiercepunchstudios.github.io.git'
deploy.branch = 'master'
end
问题
如何使用中间人部署将我的中间人网站部署到 github 组织 页面?
感谢@robinbortlik,在 github 问题上有一个方便的小扩展。 https://github.com/middleman-contrib/middleman-deploy/issues/114#issuecomment-168139237
#lib/build_cleaner.rb
class BuildCleaner < Middleman::Extension
def initialize(app, options_hash={}, &block)
super
FileUtils.rm_rf app.config[:build_dir]
end
end
::Middleman::Extensions.register(:build_cleaner, BuildCleaner)
#config.rb
require_relative "./lib/build_cleaner"
configure :build do
activate :build_cleaner
end
这会在构建操作之前删除构建目录。现在你可以只执行一个命令,比如 bundle exec middleman deploy --build-before
我仍然不考虑解决这个问题,因为我不想在我开始的每个中间人项目中都添加样板文件。但是,这是一个方便的解决方法,可以暂时简化部署过程。