2012-08-04 16 views
8

Próbuję utworzyć statyczną witrynę przy użyciu Middleman. Git repo master ma pliki źródłowe. Pliki statyczne są generowane w folderze build, który znajduje się w .gitignore. Mam oddział gh-pages dla stron Github. Jak skonfigurować rzeczy, aby gh-pages miał zawartość folderu build z master.Strony Middleman i Github

Dzięki.

Odpowiedz

0

Nie mogłem znaleźć czystej metody robienia tego. Jest to skrypt Używam:

bundle exec middleman build 
mv build /tmp/ 

git checkout gh-pages 
git rm -rf . 
cp -r /tmp/build/* . 
git add . 
git commit -m "Update site" 

rm -rf /tmp/build 

git push 
git checkout master 
+0

Czy znasz już czystszy sposób? – denis

6

zacząłem przy użyciu tej samej techniki jak Octopressuses, działa świetnie dla pośrednika.

Zasadniczo używam dwóch repozytoriów git, jednego wewnątrz folderu głównego i jednego wewnątrz folderu kompilacji. Repozytorium root przesyła się do gałęzi develop na pilocie GitHub i wyklucza katalog build. Repozytorium wewnątrz katalogu build jest przekazywane do gałęzi master (lub gh-pages) tego samego pilota GitHub.

zautomatyzować pchanie nowych stron statycznych, używam następujących Rakefile:

desc "deploy build directory to github pages" 
task :deploy do 
    puts "## Deploying branch to Github Pages " 
    cp_r ".nojekyll", "build/.nojekyll" 
    cd "build" do 
    system "git add ." 
    system "git add -u" 
    puts "\n## Commiting: Site updated at #{Time.now.utc}" 
    message = "Site updated at #{Time.now.utc}" 
    system "git commit -m \"#{message}\"" 
    puts "\n## Pushing generated website" 
    system "git push origin master" 
    puts "\n## Github Pages deploy complete" 
    end 
end 
2

Kolejny dobry gem jest middleman-deploy . Po zainstalowaniu i skonfigurowaniu wszystkiego możesz po prostu uruchomići twój katalog kompilacji zostanie przeniesiony na strony GitHub. Możesz określić, w której gałęzi chcesz naciskać w konfiguracji. Mam również wpis na blogu here dotyczący przełączania stron Jekyll na GitHub i mówi on trochę o wdrożeniu.

+0

Bardzo pomocne dziękuję. –

Powiązane problemy