Non ufficiale
In questa pagina
  1. 01Una destinazione web
  2. 02Il progetto del sito
  3. 03Modifica, push e pubblicazione
  4. 04Cosa fa la pubblicazione

Un sito web da Git: compila a ogni push e pubblica sul server web del NAS

Bucket & Code Server IDE conserva un sito statico in un repository Git sul NAS. Le pagine si trovano in src/; un Makefile le copia in public/ e ogni push avvia un controllo dei collegamenti sul runner del NAS. Un pulsante copia public/ su un server web, per esempio quello di QTS sullo stesso NAS, e rilegge la pagina pubblicata per verificarne la presenza.

  1. Destinazioneuna cartella e il suo indirizzo
  2. ProgettoNuovo progetto, Sito web statico
  3. Pushmake test a ogni push
  4. Pubblicazionepublic/ nella destinazione

Le immagini provengono dal pannello di Bucket & Code Server IDE, con i campi compilati come descritto nella guida. Il NAS ha indirizzo 192.168.1.20 e l’account si chiama ola.

01Una destinazione web

Una destinazione web è il luogo di pubblicazione: una cartella di questo NAS servita da un server web, oppure una destinazione rclone come un server proprio via SFTP, FTP, WebDAV o S3. Il server web di QTS (Control Panel → Applications → Web Server) serve la condivisione Web all’indirizzo http://<NAS address>/; una cartella al suo interno è quindi la destinazione più semplice.

  1. Nella pagina Pubblica (riservata agli amministratori, sotto Amministrazione), premi Aggiungi una destinazione nella scheda Destinazioni web.
  2. Scegli Una cartella di questo NAS, inserisci un Nome e indica in Cartella una cartella dedicata dentro una condivisione, per esempio /share/Web/mysite. Deve essere vuota o nuova, non un’intera condivisione, e stare fuori dalla cartella dei dati.
  3. Inserisci in Indirizzo pubblico l’indirizzo che serve la cartella, qui http://192.168.1.20/mysite/. Deve iniziare con http:// o https://, senza nome utente, password, query o frammento. Premi Aggiungi la destinazione. Modulo della destinazione web: scelta Una cartella di questo NAS, Nome My website, Cartella /share/Web/mysite, Indirizzo pubblico http://192.168.1.20/mysite/ e pulsante Aggiungi la destinazione
  4. Seleziona la destinazione nell’elenco e premi Prova. L’applicazione copia un piccolo file nella cartella, lo rilegge dall’indirizzo pubblico e lo elimina. Scheda Destinazioni web: My website, /share/Web/mysite e http://192.168.1.20/mysite/; l’ultimo test conferma copia, lettura dall’indirizzo pubblico ed eliminazione del file

Una destinazione rclone indica un remoto del file rclone.conf dei backup, un percorso al suo interno e l’indirizzo pubblico che serve quel percorso.

02Il progetto del sito

Apri Nuovo progetto dalla pagina Git o dalla tavolozza dei comandi. Serve il ruolo developer; il passaggio di pubblicazione descritto sotto richiede un amministratore.

  1. Modello: sotto Siti web scegli Sito web statico. Scheda Sito web statico selezionata: pagine e risorse in src/, Makefile le copia in public/ e make test controlla i collegamenti
  2. Nome e visibilità: il nome, per esempio mysite, identifica il repository e la cartella projects/mysite. Lascia Privato a meno che ogni account debba poter leggere il progetto. Nome mysite, proprietario ola e scelta tra Privato e Pubblico
  3. Compila: lascia attiva l’opzione Compila subito dopo la creazione.
  4. Pubblica: attiva Pubblica sul mio server web e scegli la destinazione. Aggiungi una destinazione funziona qui come nella pagina Pubblica. Pubblica sul mio server web attivo: copia public/ in una destinazione web e rilegge index.html al suo indirizzo pubblico; scelta My website
  5. Vai a Revisione, poi premi Crea il progetto. La pagina segue ogni passaggio: repository e primo commit, prima compilazione e pubblicazione. Creazione del progetto: repository Forgejo e primo commit, prima compilazione e pubblicazione sul server web completati

Il sito risponde all’indirizzo pubblico della destinazione:

Pagina del modello nel browser: mysite, indicazione del file src/index.html e collegamento alla descrizione del sito

03Modifica, push e pubblicazione

  • Modifica le pagine in src/ nell’editor (il progetto è nella cartella projects/), crea un commit ed esegui il push. make copia src/ in public/; make test controlla che ogni href= e src= locale delle pagine punti a un file in public/; make clean rimuove public/.
  • Ogni push avvia il workflow del progetto sul runner del NAS quando il modulo CI è attivo: make test gira nell’ambiente di compilazione Ubuntu 24.04. Un collegamento interrotto fa fallire l’esecuzione. Scheda Actions di Forgejo: prima esecuzione di build.yml per il primo commit riuscita
  • La pagina del progetto (Progetti o barra laterale dell’Editor) permette di compilare e pubblicare manualmente: Compila avvia make, Ricompila avvia make clean e poi make, mentre Pubblica su My website (per l’amministratore) invia public/ alla destinazione. Il push da solo non avvia la pubblicazione. Passaggi del progetto: Compila, stato compilato con destinazione predefinita all, pulsanti Ricompila e Pubblica su My website e stato pubblicato

04Cosa fa la pubblicazione

  • Dopo la copia, la cartella di destinazione contiene il sito e nient’altro: i file che non fanno più parte del sito vengono rimossi. Al primo utilizzo bvsd contrassegna la cartella con .bvs-web-target (lo fa anche il test). Se una cartella contiene altri file ma non questo contrassegno, l’operazione viene rifiutata; la pubblicazione non svuota quindi una cartella estranea.
  • Dopo la copia, l’applicazione legge index.html dall’indirizzo pubblico e lo confronta byte per byte. Se l’indirizzo non serve il contenuto copiato, il lavoro fallisce con web_check: e mostra entrambi i valori: il server web serve un’altra cartella oppure l’indirizzo è errato.
  • Un progetto che crea un QPKG pubblica nello stesso modo il file .qpkg più recente insieme al suo .sha256, verificato con sha256.