Nieoficjalne
Na tej stronie
  1. 01Cel WWW
  2. 02Projekt strony
  3. 03Edytowanie, push i publikacja
  4. 04Co robi publikacja

Strona WWW z Git: budowanie po każdym pushu i publikacja na serwerze WWW NAS-a

Bucket & Code Server IDE przechowuje statyczną stronę WWW w repozytorium Git na NAS-ie. Pliki strony są w src/; Makefile kopiuje je do public/, a każdy push uruchamia sprawdzanie odnośników na runnerze NAS-a. Jednym przyciskiem kopiujesz public/ na serwer WWW, na przykład serwer WWW QTS na tym samym NAS-ie, po czym strona jest odczytywana z jej publicznego adresu.

  1. Celfolder i jego adres
  2. ProjektNowy projekt, Statyczna strona WWW
  3. Pushmake test po każdym pushu
  4. Publikacjapublic/ trafia do celu

Zrzuty ekranu pochodzą z panelu Bucket & Code Server IDE, z polami wypełnionymi zgodnie z poradnikiem. NAS ma adres 192.168.1.20, a konto nazywa się ola.

01Cel WWW

Cel WWW wskazuje miejsce publikacji: folder na tym NAS-ie udostępniany przez serwer WWW albo zdalne miejsce rclone, na przykład własny serwer przez SFTP, FTP, WebDAV lub S3. Serwer WWW QTS (Panel sterowania → Aplikacje → Serwer WWW) udostępnia udział Web pod adresem http://<NAS address>/, dlatego folder w tym udziale jest najprostszym celem.

  1. Na stronie Opublikuj (dostępnej administratorowi w sekcji Administracja) naciśnij Dodaj cel na karcie Cele WWW.
  2. Wybierz Folder tego NAS-a, wypełnij pole Nazwa i wpisz Folder: osobny folder w udziale, na przykład /share/Web/mysite. Powinien być pusty lub nowy; nie wskazuj całego udziału. Musi też leżeć poza folderem danych aplikacji.
  3. Wpisz Adres publiczny, pod którym folder jest udostępniany, tutaj http://192.168.1.20/mysite/. Adres ma zaczynać się od http:// lub https:// i nie może zawierać nazwy użytkownika, hasła, zapytania ani fragmentu. Naciśnij Dodaj cel. Formularz celu WWW: wybrany Folder tego NAS-a, nazwa My website, folder /share/Web/mysite, adres publiczny http://192.168.1.20/mysite/ i przycisk Dodaj cel
  4. Wybierz cel z listy i naciśnij Sprawdź. Aplikacja kopiuje mały plik do folderu, odczytuje go z publicznego adresu i usuwa. Karta Cele WWW: My website, /share/Web/mysite i http://192.168.1.20/mysite/; ostatni test potwierdza skopiowanie pliku, odczytanie go spod publicznego adresu i usunięcie

Cel rclone podaje nazwę zdalnego miejsca z pliku kopii zapasowych rclone.conf, ścieżkę w tym miejscu oraz publiczny adres, pod którym serwer udostępnia tę ścieżkę.

02Projekt strony

Otwórz Nowy projekt ze strony Git lub z palety poleceń. Wymaga to roli developer; opisana niżej publikacja wymaga uprawnień administratora.

  1. Szablon: w grupie Strony WWW wybierz Statyczna strona WWW. Wybrana karta Statyczna strona WWW: strony i zasoby w src/, Makefile kopiuje je do public/, a make test sprawdza odnośniki
  2. Nazwa i widoczność: nazwa, na przykład mysite, określa nazwę repozytorium i folderu projects/mysite. Pozostaw Prywatne, chyba że każde konto ma mieć dostęp do odczytu. Nazwa mysite, właściciel ola oraz wybór między Prywatne i Publiczne
  3. Zbuduj: pozostaw włączoną opcję Zbuduj zaraz po utworzeniu.
  4. Opublikuj: włącz Opublikuj na moim serwerze WWW i wybierz cel. Przycisk Dodaj cel działa tu tak samo jak na stronie Opublikuj. Włączone Opublikuj na moim serwerze WWW: kopiuje public/ do celu WWW i odczytuje index.html spod jego publicznego adresu; wybrany cel My website
  5. Otwórz Podsumowanie i naciśnij Utwórz projekt. Strona pokazuje kolejne kroki: repozytorium i pierwszy commit, pierwsze budowanie oraz publikację. Tworzenie projektu: repozytorium Forgejo i pierwszy commit, pierwsze budowanie oraz publikacja na serwerze WWW; wszystkie kroki ukończone

Strona odpowiada pod publicznym adresem celu:

Strona szablonu w przeglądarce: mysite, informacja o pliku src/index.html oraz odnośnik do opisu strony

03Edytowanie, push i publikacja

  • Edytuj strony w src/ w edytorze (projekt jest w folderze projects/), zrób commit i push. Polecenie make kopiuje src/ do public/; make test sprawdza, czy każdy lokalny odnośnik href= i źródło src= na stronach wskazuje plik w public/; make clean usuwa public/.
  • Każdy push uruchamia workflow projektu na runnerze NAS-a, gdy moduł CI jest włączony: make test działa w środowisku budowania Ubuntu 24.04. Błędny odnośnik powoduje niepowodzenie przebiegu. Karta Actions w Forgejo: przebieg build.yml numer 1 dla pierwszego commitu zakończony powodzeniem
  • Strona projektu (Projekty lub pasek boczny Edytora) pozwala ręcznie budować i publikować: Zbuduj uruchamia make, Zbuduj ponownie uruchamia make clean, a potem make; Opublikuj w My website (dla administratora) wysyła public/ do celu. Sam push nie uruchamia publikacji. Kroki projektu: Zbuduj, stan zbudowano, domyślny cel all, przyciski Zbuduj ponownie i Opublikuj w My website oraz stan opublikowano w My website

04Co robi publikacja

  • Po publikacji folder celu zawiera stronę i nic więcej: pliki usunięte ze strony są z niego kasowane. Przy pierwszym zapisie bvsd oznacza folder plikiem .bvs-web-target (test robi to samo). Jeżeli folder zawiera inne pliki i nie ma tego znacznika, publikacja jest odrzucana, więc nie opróżni cudzego folderu.
  • Po skopiowaniu plików aplikacja odczytuje index.html z publicznego adresu i porównuje go bajt po bajcie. Jeśli adres nie zwraca skopiowanej strony, zadanie kończy się błędem web_check: i pokazuje obie wartości: wskazany folder nie jest udostępniany przez serwer WWW albo adres jest błędny.
  • Projekt tworzący QPKG publikuje podobnie: najnowszy plik .qpkg wraz z .sha256, sprawdzony przez sha256.