55 lines
2.2 KiB
Markdown
55 lines
2.2 KiB
Markdown
# Template di pubblicazione sito statico
|
|
|
|
> 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: "pages"
|
|
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```. |