Un sito di staging è una copia di un sito sullo stesso server che fa il deploy di un altro branch dello stesso repository, a un indirizzo tutto suo. Usalo per provare un branch, come develop o staging, prima che vada online: ogni push su quel branch fa il deploy del sito di staging, e solo di quello.
I siti di staging sono siti a tutti gli effetti. Ognuno ha le proprie pagine (deploy, ambiente, domini, log e così via), la propria directory sul server, la propria deploy key e il proprio URL di deploy. Sono elencati nella pagina Staging del sito di cui sono la copia, e sotto di esso nella pagina Siti del server.
Crea un sito di staging
- Apri il sito e clicca su Staging nella barra laterale.
- Clicca su Nuovo sito di staging.
- Scegli il Branch. Con una connessione Git vengono suggeriti i branch del repository (il branch di cui fa il deploy il sito stesso è escluso); puoi anche digitare un branch che invierai più tardi.
- Scegli l'indirizzo:
- un Indirizzo su
on-deploy.link, precompilato con un nome generato che inizia constaging-(quando gli indirizzi generati sono disponibili). Ottiene HTTPS da solo non appena l'indirizzo si risolve; oppure - clicca su Usa un dominio personalizzato e inserisci un Dominio, come
staging.example.com. Quando il dominio si trova in una zona di una delle tue integrazioni DNS, vedi i record che Vimonto Deploy creerà, come quando aggiungi un dominio. Per un dominio di staging non viene creato alcun recordwww..
- un Indirizzo su
- Lascia attivo Copia il .env per partire dal
.envdel sito (mostrato quando il sito ne ha uno). - Lascia attivo Deploy a ogni push per fare il deploy del sito di staging a ogni push sul suo branch (mostrato per i siti con una connessione Git).
- Clicca su Crea sito di staging.
Il sito di staging viene configurato come attività in background, come un nuovo sito, e il suo primo deploy parte quando la configurazione è finita.
Quale database usa un sito di staging?
Mai quello live. Su un server con un database, ogni sito di staging riceve un database nuovo e vuoto e un utente proprio, con il nome ricavato dal suo indirizzo (per esempio staging_example_com). Esegui su di esso migrazioni e seeder: php artisan migrate --force nel suo script di deploy modifica sempre e solo il database di staging.
Su un server senza database (per esempio un web server il cui database gira su un database server separato), il sito di staging non riceve impostazioni del database: il .env copiato ha DB_DATABASE, DB_USERNAME e DB_PASSWORD vuoti. Crea un database per lo staging e compilali nella sua pagina Ambiente, mai con i dati del database live.
Cosa ottiene un sito di staging?
Un sito di staging viene creato con Clona sito, sullo stesso server, con queste differenze:
| Sito di staging | |
|---|---|
| Repository, connessione Git, impostazioni di build, script di deploy, notifiche, reindirizzamenti e regole di sicurezza | Copiati dal sito |
| Branch | Il branch che hai scelto |
| Indirizzo e directory sul server | Propri |
| Deploy key, URL di deploy e webhook di push | Propri |
| Database | Un database e un utente propri e nuovi (mai il database del sito) |
| Certificati, worker di coda e processi, funzionalità del sito, file salvati dall'app | Non copiati |
Il .env di un sito di staging
Con Copia il .env attivo, il sito di staging riceve il .env del sito con:
APP_URLimpostato sull'indirizzo di staging;APP_ENV=staging;- i valori
DB_CONNECTION,DB_HOST,DB_PORT,DB_DATABASE,DB_USERNAMEeDB_PASSWORDdel suo database, oppure impostazioni del database vuote su un server senza database.
Tutto il resto, come le impostazioni di posta, cache e coda, resta uguale a quello del sito live. Modificale nella pagina Ambiente del sito di staging se servono valori propri.
Con Copia il .env disattivato, il sito di staging riceve un .env nuovo, come un sito nuovo, con APP_ENV=staging.
Come vengono distribuiti i push
Il sito e ciascuno dei suoi siti di staging hanno un proprio webhook presso il tuo host Git, ognuno con il proprio URL di deploy. Un push li raggiunge tutti, e ognuno fa il deploy solo quando il push è sul proprio branch:
- un push su
mainfa il deploy del sito che seguemain; - un push su
developfa il deploy del sito di staging che seguedevelop.
Gli altri webhook rispondono che il push non era sul loro branch e non succede nient'altro. Attiva o disattiva Deploy a ogni push per un sito di staging in un secondo momento, dalla sua pagina Deployment.
Fai il deploy, apri ed elimina i siti di staging
La pagina Staging elenca ogni sito di staging del sito, con il suo branch, l'indicazione se fa il deploy a ogni push e l'ultimo deploy. Per ognuno puoi:
- cliccare su Fai il deploy per fare subito il deploy del suo branch;
- cliccare su Apri sito per aprire il suo indirizzo in una nuova scheda;
- cliccare sul suo indirizzo per passare alle pagine del sito di staging;
- cliccare su Elimina, digitare il suo indirizzo e cliccare su Elimina sito di staging per rimuoverlo.
Eliminare un sito di staging funziona come eliminare un sito: viene rimosso dal server con le sue release, il .env, i worker e i certificati, e Vimonto Deploy rimuove i record DNS che ha creato per esso, la sua deploy key e il webhook presso il tuo host Git. Il suo database viene conservato; eliminalo dalla pagina Database del server.
L'intestazione del sito mostra quanti siti di staging ha; l'intestazione di un sito di staging mostra Staging di con un link che torna al suo sito.
Chi può creare siti di staging?
Tutti i membri possono vedere i siti di staging. Per crearli, farne il deploy ed eliminarli serve il permesso di gestire i siti, che hanno proprietari, amministratori, manager e sviluppatori. I siti di staging sono sullo stesso server del loro sito, quindi i membri che possono aprire il sito possono aprire anche i suoi siti di staging.
Domande frequenti
Ogni sito può avere siti di staging?
Possono averli i siti con un repository. WordPress, phpMyAdmin e i siti con bilanciamento del carico no, e un sito di staging non può avere a sua volta siti di staging.
Cosa succede ai siti di staging quando elimino il sito?
Restano, come siti a sé stanti. Se non ti servono più, eliminali prima dalla pagina Staging.
Posso mettere un sito di staging su un altro server?
Non dalla pagina Staging: i siti di staging si trovano sul server del loro sito. Usa Clona sito per fare una copia su un altro server.
Perché il branch del sito di staging non viene suggerito?
I branch vengono suggeriti per i siti con una connessione Git. Per un sito con il solo URL Git, digita il nome del branch.