Każde repozytorium GitHub może mieć ( lub być ) witryną GitHub Pages , którą można zbudować za pomocą Jekyll. GitHub buduje witrynę za każdym razem, gdy wypychasz nowe zatwierdzenie.
Czy istnieje sposób na wymuszenie odświeżenia witryny Github Pages bez wprowadzania nowego zatwierdzenia?
github-pages
Pierre Prinetti
źródło
źródło
Odpowiedzi:
Ze wsparcia GitHub, 07.06.2014:
Edytować:
Jak zauważył Andy w komentarzach, możesz wypchnąć pusty zatwierdzenie poleceniem:
Edycja 2:
Dzięki działaniom GitHub dość łatwo jest uruchomić codzienną publikację: https://stackoverflow.com/a/61706020/4548500 .
źródło
git log
Jeśli potrzebujesz szybkiego rozwiązania skryptowego, oto jest. Po prostu wykonaj poniższe zadania tylko raz i uruchom skrypt, gdy chcesz odbudować swoją stronę GitHub.
1. Utwórz osobisty token dostępu dla wiersza poleceń:
Settings > Developer settings > Personal access tokens > Generate new token
.repo
zakres.2. Utwórz następujący skrypt:
Utwórz plik o nazwie
RebuildPage.sh
i dodaj linie:Tutaj,
yourname
swoją nazwą użytkownika GitHub.yourtoken
skopiowanym osobistym tokenem dostępu.yourrepo
nazwą swojego repozytorium.3. Uruchom skrypt:
Jeśli używasz systemu Windows 10:
#!/bin/bash
) ze skryptu i zapisz skrypt jakoRebuildPage.bat
. (tj zastąpić.sh
ze.bat
w nazwie pliku skryptu)Alternatywa dla powyższego punktu: Aby uzyskać funkcję dwukrotnego kliknięcia w celu uruchomienia
.sh
pliku:bash.exe
jako domyślny program dla.sh
plików.Otwórz
regedit.exe
i edytujHKEY_CLASSES_ROOT\Applications\bash.exe\shell\open\command
. Ustaw(Default)
wartość na:Teraz kliknij dwukrotnie skrypt, gdy chcesz odbudować swoją stronę GitHub. Gotowe!
Jeśli używasz systemu Linux / Mac, uruchomienie skryptu jest takie samo, jak uruchomienie innych skryptów. Gotowe!
Dodatkowe uwagi do rozwiązania:
To rozwiązanie wykorzystuje interfejs API GitHub REST API v3. Oto oficjalna dokumentacja API.
źródło
Miałem ten problem przez jakiś czas i pchnięcie na gałąź główną nic nie zmieniło
myapp.github.io
z dwóch powodów:1 - Zbuduj
Bez względu na to, ile razy próbowałem wcisnąć swoją pracę na master, kompilacja się nie rozpoczęła. Znalazłem obejście, modyfikując mój plik w edytorze online Github (otwórz swój plik index.html i edytuj go na stronie Github, a następnie zatwierdź)
2 - Problemy z buforowaniem
Nawet po udanej kompilacji nadal widzę tę samą stronę
myapp.github.io
, a trudne przeładowanieCtrl + Shift + R
nie rozwiązałoby problemu. Zamiast tego, jeśli używasz przeglądarki Chrome, sprawdź swoją stronę,Application
przejdź do zakładki, wybierz „Wyczyść pamięć” w menu po lewej stronie i kliknij „Wyczyść dane witryny” u dołu menu.źródło
Teraz, gdy akcje GitHub są dostępne, jest to trywialne:
Przykładowe repozytorium, które to robi: https://github.com/SUPERCILEX/personal-website/actions
Pages API: https://developer.github.com/v3/repos/pages/#request-a-page-build
źródło
Nawet po przesłaniu zmian do repozytorium GitHub nie mogłem ich dzisiaj zobaczyć. Następnie sprawdziłem ustawienia repozytorium, aby uzyskać więcej informacji, widziałem, że przez wszystkie te czasy kompilacja się nie udała i to było powodem, dla którego nie byłem w stanie zobaczyć zmian.
Możesz również zobaczyć komunikat „Twoja witryna ma problemy z budowaniem: Nie można utworzyć strony. Spróbuj ponownie później”.
Następnie sprawdzałem moje ostatnie zatwierdzenia i próbowałem dowiedzieć się, co powoduje ten problem. W końcu udało mi się rozwiązać problem.
W tagach (,) był dodatkowy przecinek i to spowodowało ten problem .
Nie otrzymasz odpowiednich komunikatów o błędach, jeśli w pliku .md są jakieś problemy. Zalecam sprawdzenie stanu kompilacji i porównanie zmian, jeśli napotykasz ten sam problem.
źródło
Puste zatwierdzenie nie działało dla mnie, ale w oparciu o odpowiedź @benett działało to dla mnie:
Otwórz Postman, utwórz nowe żądanie z tym adresem URL: https://api.github.com/repos/[user_name]/[repo_name]/pages/builds (zamień na swoje imię i repozytorium) i wybierz metodę POST.
Przed uruchomieniem przejdź do
headers
zakładki i dodaj nowy kluczAccept
z wartościąapplication/vnd.github.mister-fantastic-preview+json
Teraz możesz go uruchomić i ponownie odwiedzić swoje strony.
źródło
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3/repos/pages/#request-a-page-build" }
. Może dlatego, że moje repozytorium jest prywatne?Jest to możliwe od wersji 3 interfejsu API GitHub
, chociaż jest obecnie dostępne w wersji zapoznawczejhttps://developer.github.com/v3/repos/pages/#request-a-page-buildźródło
Alternatywne rozwiązanie
Być może otrzymałeś wiadomość e-mail z GitHub z informacją, że Jekyll nie zdołał zbudować Twojej witryny, gdy przekazałeś ją do
gh-pages
. W takim przypadku możesz spróbować wymusić naciśnięcie, aby uruchomić kolejną kompilację.Jeśli używasz dedykowanego folderu na ostateczną stronę internetową, powiedzmy
public
, możesz spróbować odbudować folder i dodać go do zatwierdzonych zmian. Następnie musisz podzielić ten plik na swojągh-pages
gałąź i zmusić go do wyzwolenia kolejnej kompilacji, nawet jeśli pliki w ogóle się nie zmieniły. Reszta kodu poniżej usuwa tylko zatwierdzenia dlapublic
folderu dla wygody i usuwa go z lokalnego systemu plików.Kod
Porady
Jeśli istnieją niezatwierdzone zmiany, które nie są częścią ostatecznej witryny, możesz je ukryć za pomocą następującego polecenia.
Następnie wykonaj powyższe polecenie, aby ręcznie wymusić kompilację Jekyll i rozpakować je.
Bibliografia
źródło