From f17bb1e66a6a59acb88601e4b87a33ae3bb88ab3 Mon Sep 17 00:00:00 2001 From: Francesco Mancuso Date: Wed, 28 Jan 2026 21:43:51 +0100 Subject: [PATCH] Initial commit --- .gitea/workflows/deploy.yaml | 30 +++++++++++ README.md | 98 ++++++++++++++++++++++++++++++++++++ index.php | 30 +++++++++++ 3 files changed, 158 insertions(+) create mode 100644 .gitea/workflows/deploy.yaml create mode 100644 README.md create mode 100644 index.php diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml new file mode 100644 index 0000000..39161de --- /dev/null +++ b/.gitea/workflows/deploy.yaml @@ -0,0 +1,30 @@ +name: Deploy +on: [push] + +jobs: + trigger: + runs-on: ubuntu-latest + steps: + - name: Build & Deploy + env: + REPO_NAME: ${{ gitea.event.repository.name }} + REPO_OWNER: ${{ gitea.repository_owner }} + # Imposta la cartella che conterrà la root del sito! + # Default "/" + # Con nome "nome_cartella" + ROOT_DIR: "/" + # Cosa stai andando a pubblicare? + # - pages sito web statico + # - dynamic sito web dinamico con PHP + TYPE: "dynamic" + JOB_TOKEN: ${{ gitea.token }} + run: | + curl -f -s -S -X -v POST http://gitea-webhook:9000/hooks/trigger-deploy \ + -H "Content-Type: application/json" \ + -d "{ + \"repository\": { \"name\": \"$REPO_NAME\" }, + \"owner\": { \"username\": \"$REPO_OWNER\" }, + \"root\": \"$ROOT_DIR\", + \"type\": \"$TYPE\", + \"token\": \"$JOB_TOKEN\" + }" \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..cef66ac --- /dev/null +++ b/README.md @@ -0,0 +1,98 @@ +# Template di pubblicazione sito dinamico in PHP + +> Dominio di output +> ```nomerepository-nomeutente.web.francescomancuso.it``` +> +> In futuro si potrà personalizzare + +## Descrizione + +Ogni repository, pubblica o privata, permette di effettuare il deploy del proprio sito web. Per farlo, è necessario seguire 3 semplici passaggi. + +Il funzionamento è quasi identico alle "GitHub Actions", le quali permettono di creare una pipeline di sviluppo CI/CD. Qui la pipeline CI/CD è stata implementata da zero, con personalizzazioni. + +## Come fare? + +1. Usare come template questa repository + +2. Caricare la root del sito web con ```index.php``` o ```index.html``` dentro la cartella radice ```/```. Puoi anche specificare una cartella diversa dal file di configurazione. + +3. Sarà presente insieme ai file della repository la cartelle ```/.gitea/workflows/deploy.yaml```. Questo rappresenta il file di configurazione per avviare il deploy. Di base è già configurato per pubblicare il sito web, ma puoi personalizzare dentro alcuni parametri: + +```yaml +name: Deploy +on: [push] + +jobs: + trigger: + runs-on: ubuntu-latest + steps: + - name: Build & Deploy + env: + REPO_NAME: ${{ gitea.event.repository.name }} + REPO_OWNER: ${{ gitea.repository_owner }} + # Imposta la cartella che conterrà la root del sito! + # Default "/" + # Con nome "nome_cartella" + ROOT_DIR: "/" + # Cosa stai andando a pubblicare? + # - pages sito web statico + # - dynamic sito web dinamico con PHP + TYPE: "dynamic" + JOB_TOKEN: ${{ gitea.token }} + run: | + curl -f -s -S -X -v POST http://gitea-webhook:9000/hooks/trigger-deploy \ + -H "Content-Type: application/json" \ + -d "{ + \"repository\": { \"name\": \"$REPO_NAME\" }, + \"owner\": { \"username\": \"$REPO_OWNER\" }, + \"root\": \"$ROOT_DIR\", + \"type\": \"$TYPE\", + \"token\": \"$JOB_TOKEN\" + }" +``` + +Puoi infatti cambiare la root del sito web per il deploy, modificando la variabile ```ROOT_DIR```, e puoi anche cambiare il tipo di deploy per la repository, modificando la variabile ```TYPE```. + +## Uso del Database (beta) + +Puoi collegare un DB con dati permanenti al tuo sito web in PHP. Per attivare il modulo, crea il file ```use_db.txt``` nella cartella radice. Ecco come leggere le variabili del DB e collegarti. + +```php +getMessage(), (int)$e->getCode()); +} +?> +``` + +Se necessario puoi popolare il DB utilizzando un file SQL, accedendo al link [phpmyadmin.vps.francescomancuso.it](https://phpmyadmin.vps.francescomancuso.it/) oppure effettuando un caricamento tramite PHP al primo avvio dell'applicazione. + +## Dati permanenti (beta) + +Se il sito web richiede di salvare dati permanenti (es. upload) che non possono essere scritti nel DB, puoi caricarli attraverso PHP nella cartella ```/var/www/data``` del container. Ecco un esempio: + +```php + +``` \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..d27e275 --- /dev/null +++ b/index.php @@ -0,0 +1,30 @@ + + + + + + Funziona! + + + +

Funziona!

+

Se vedi questa pagina, deploy-dynamic funziona!

+
+ PARTY +
+
+ Pagina generata dinamicamente con PHP il +
+
+

Ospitato su vps.francescomancuso.it

+ +