En webbplats från Git: bygg vid varje push och publicera på NAS:ens webbserver
Bucket & Code Server IDE lagrar en statisk webbplats i ett Git-arkiv på din NAS. Sidorna ligger i src/; en Makefile kopierar dem till public/, och varje push startar en länkkontroll på NAS:ens runner. Med en knapp kopieras public/ till en webbserver, till exempel QTS webbserver på samma NAS, och den publicerade sidan läses tillbaka för att kontrollera resultatet.
- Målen mapp och dess adress
- ProjektNytt projekt, Statisk webbplats
- Pushmake test vid varje push
- Publicerapublic/ till målet
Bilderna kommer från panelen i Bucket & Code Server IDE med fälten ifyllda som i den här guiden. NAS:en har adressen 192.168.1.20 och kontot heter ola.
01Ett webbmål
Ett webbmål är platsen dit en webbplats publiceras: en mapp på denna NAS som en webbserver levererar, eller en rclone-fjärrplats som din egen server via SFTP, FTP, WebDAV eller S3. QTS webbserver (Control Panel → Applications → Web Server) levererar resursen Web på http://<NAS address>/. En mapp där är därför det enklaste målet.
- På sidan Publicera (för administratörer, under Administration) trycker du på Lägg till ett mål i kortet Webbmål.
- Välj En mapp på denna NAS, ange ett Namn och skriv i Mapp en egen mapp i en delad resurs, till exempel
/share/Web/mysite. Den ska vara tom eller ny, aldrig en hel delad resurs, och ligga utanför datamappen. - Ange i Publik adress adressen som levererar mappen, här
http://192.168.1.20/mysite/. Den måste börja medhttp://ellerhttps://och får inte innehålla användarnamn, lösenord, frågesträng eller fragment. Tryck på Lägg till målet.
- Välj målet i listan och tryck på Testa. Programmet kopierar en liten fil till mappen, läser tillbaka den från den publika adressen och tar bort den.

Ett rclone-mål anger en fjärrplats i säkerhetskopiornas rclone.conf, en sökväg där och den publika adress som levererar sökvägen.
02Webbplatsprojektet
Öppna Nytt projekt från Git-sidan eller kommandopaletten. Det kräver rollen developer; publiceringssteget nedan kräver administratörsbehörighet.
- Mall: välj Statisk webbplats under Webbplatser.

- Namn och synlighet: namnet, till exempel
mysite, ger arkivet och mappenprojects/mysitederas namn. Låt Privat vara valt om inte alla konton ska kunna läsa projektet.
- Bygg: låt Bygg direkt efter skapandet vara på.
- Publicera: slå på Publicera på min webbserver och välj målet. Lägg till ett mål fungerar här som på sidan Publicera.

- Gå till Granskning och tryck på Skapa projekt. Sidan visar varje steg: arkivet och första commiten, första bygget och publiceringen.

Webbplatsen svarar på målets publika adress:
03Redigera, pusha, publicera
- Redigera sidorna i
src/i redigeraren (projektet finns i mappenprojects/), skapa en commit och pusha den.makekopierarsrc/tillpublic/;make testkontrollerar att varje lokalhref=ochsrc=på sidorna leder till en fil ipublic/;make cleantar bortpublic/. - Varje push startar projektets arbetsflöde på NAS:ens runner när CI-modulen är på:
make testkörs i byggmiljön Ubuntu 24.04. En trasig länk gör att körningen misslyckas.
- På projektsidan (Projekt eller i redigerarens sidofält) kan du bygga och publicera manuellt: Bygg kör
make, Bygg om körmake cleanoch sedanmake, och Publicera på My website skickar som administratörpublic/till målet. En push startar inte publiceringen av sig själv.
04Vad publiceringen gör
- Efter kopieringen innehåller målmappen webbplatsen och inget annat: filer som inte längre finns på webbplatsen tas bort. bvsd märker mappen med
.bvs-web-targetförsta gången den skrivs till (testet gör det också). Om en mapp innehåller andra filer men saknar märket avvisas den, så publiceringen tömmer inte någon annans mapp. - Efter kopieringen läser programmet
index.htmlfrån den publika adressen och jämför innehållet byte för byte. Om adressen inte levererar det som kopierades misslyckas jobbet medweb_check:och visar båda värdena: webbservern levererar en annan mapp eller så är adressen fel. - Ett projekt som skapar ett QPKG publicerar på samma sätt den senaste
.qpkg-filen och dess.sha256-fil, kontrollerade med sha256.