Neoficiální
Na této stránce
  1. 01Webový cíl
  2. 02Projekt webu
  3. 03Úpravy, push a publikace
  4. 04Co publikace provede

Web z Gitu: sestavení po každém pushi a publikace na webovém serveru NASu

Bucket & Code Server IDE ukládá statický web do repozitáře Git na vašem NASu. Stránky jsou v src/; Makefile je kopíruje do public/ a každý push spouští kontrolu odkazů na runneru NASu. Jedním tlačítkem se public/ zkopíruje na webový server, například na webový server QTS na stejném NASu, a publikovaná stránka se načte zpět pro ověření.

  1. Cílsložka a její adresa
  2. ProjektNew project, Static website
  3. Pushmake test při každém pushi
  4. Publikacepublic/ do cíle

Obrázky pocházejí z panelu Bucket & Code Server IDE s poli vyplněnými podle tohoto návodu. NAS má adresu 192.168.1.20 a účet se jmenuje ola.

01Webový cíl

Webový cíl je místo publikace: složka na tomto NASu, kterou zpřístupňuje webový server, nebo vzdálené úložiště rclone, například vlastní server přes SFTP, FTP, WebDAV či S3. Webový server QTS (Control Panel → Applications → Web Server) zpřístupňuje sdílenou složku Web na http://<NAS address>/, takže složka uvnitř je nejjednodušším cílem.

  1. Na stránce Publish (pro administrátora, v části Administration) stiskněte Add a target na kartě Web targets.
  2. Vyberte A folder of this NAS, vyplňte Name a do Folder zadejte samostatnou složku ve sdílené složce, například /share/Web/mysite. Musí být prázdná nebo nová, nesmí to být celý sdílený svazek a musí ležet mimo datovou složku aplikace.
  3. Do Public address zadejte adresu, na které je složka dostupná, zde http://192.168.1.20/mysite/. Musí začínat http:// nebo https:// a nesmí obsahovat uživatelské jméno, heslo, dotaz ani fragment. Stiskněte Add the target. Formulář webového cíle: vybraná složka tohoto NASu, název My website, složka /share/Web/mysite, veřejná adresa http://192.168.1.20/mysite/ a tlačítko pro přidání cíle
  4. Vyberte cíl v seznamu a stiskněte Test. Aplikace zkopíruje malý soubor do složky, načte jej z veřejné adresy a odstraní. Karta webových cílů: My website, /share/Web/mysite a http://192.168.1.20/mysite/; poslední test potvrzuje kopii souboru, jeho načtení z veřejné adresy a odstranění

Cíl rclone určuje vzdálené úložiště ze souboru rclone.conf pro zálohy, cestu v něm a veřejnou adresu, na které je tato cesta dostupná.

02Projekt webu

Otevřete New project ze stránky Git nebo z palety příkazů. Tento krok vyžaduje roli developer; publikaci popsanou níže smí provést administrátor.

  1. Template: v části Websites vyberte Static website. Vybraná karta statického webu: stránky a prostředky v src/, Makefile je kopíruje do public/ a make test kontroluje odkazy
  2. Name and visibility: název, například mysite, určuje jméno repozitáře a složky projects/mysite. Ponechte Private, pokud nemá mít každý účet právo ke čtení. Název mysite, vlastník ola a volba mezi soukromou a veřejnou viditelností
  3. Build: ponechte zapnuté Build right after creating.
  4. Publish: zapněte Publish to my web server a vyberte cíl. Add a target zde funguje stejně jako na stránce Publish. Zapnutá publikace na vlastním webovém serveru: kopie public/ do webového cíle a zpětné načtení index.html z veřejné adresy; zvolený cíl My website
  5. Přejděte na Review a stiskněte Create project. Stránka zobrazuje jednotlivé kroky: repozitář a první commit, první sestavení a publikaci. Vytváření projektu: repozitář Forgejo a první commit, první sestavení a publikace na webovém serveru dokončeny

Web je dostupný na veřejné adrese cíle:

Stránka šablony v prohlížeči: mysite, informace o src/index.html a odkaz na popis webu

03Úpravy, push a publikace

  • Upravte stránky v src/ v editoru (projekt je ve složce projects/), vytvořte commit a odešlete jej pushem. make kopíruje src/ do public/; make test kontroluje, zda každý místní odkaz href= a zdroj src= na stránkách vede k souboru v public/; make clean odstraňuje public/.
  • Každý push spustí workflow projektu na runneru NASu, pokud je zapnutý modul CI: make test běží v prostředí Ubuntu 24.04 pro sestavení. Neplatný odkaz způsobí selhání běhu. Karta Actions ve Forgejo: první běh build.yml pro první commit úspěšný
  • Na stránce projektu (Projects nebo v postranním panelu editoru) můžete sestavovat a publikovat ručně: Build spustí make, Rebuild spustí make clean a poté make a Publish to My website jako administrátor odešle public/ do cíle. Samotný push publikaci nespouští. Kroky projektu: sestavení s výchozím cílem all, tlačítka pro opětovné sestavení a publikaci do My website a stav publikováno

04Co publikace provede

  • Po kopírování obsahuje cílová složka web a nic dalšího: soubory odstraněné z webu se z cíle smažou. bvsd složku při prvním zápisu označí souborem .bvs-web-target (totéž dělá test). Složka s jinými soubory bez této značky se odmítne, takže publikace nevyprázdní cizí složku.
  • Po kopírování aplikace načte index.html z veřejné adresy a porovná jej bajt po bajtu. Pokud adresa neposkytuje zkopírovaný obsah, úloha selže s hlášením web_check: a oběma hodnotami: webový server zpřístupňuje jinou složku nebo je adresa chybná.
  • Projekt, který vytváří QPKG, publikuje stejným způsobem nejnovější soubor .qpkg spolu s jeho .sha256, ověřeným pomocí sha256.