Deploy di un servizio
Sorgenti del servizio
Crea un servizio da Git, da un’immagine Docker, da una cartella locale o da un template del Marketplace.
Ogni servizio ha una sorgente che determina come viene prodotta la sua immagine: un repository Git con build automatica, un’immagine Docker pronta, una cartella locale caricata tramite CLI oppure un template del Marketplace.
Per eseguire il deploy da Git, seleziona repository e branch. Se il deploy automatico è attivo, ogni push sul branch collegato avvia una nuova build e un nuovo deploy.
Per un’immagine pronta, inserisci nome, tag e porta interna. Per una cartella locale usa gerdoo deploy; per installare rapidamente software pronto usa il Marketplace.
Rilevamento automatico del framework
Rilevamento del tipo di progetto dai file del repository, con possibilità di modificare manualmente le impostazioni.
Quando esegui il deploy del codice sorgente, la piattaforma esamina file come package.json, requirements.txt, go.mod, composer.json e Cargo.toml e propone impostazioni di build ed esecuzione. Se il repository contiene un Dockerfile, viene usato come base della build.
Il rilevamento automatico è un punto di partenza e non sostituisce la tua verifica. Se il progetto è un monorepo, l’output si trova in una cartella diversa o il comando di avvio è particolare, imposta manualmente directory radice, Build Command e Run Command.
Dopo ogni modifica alla configurazione, esegui un nuovo deploy e leggi il log di build. Molti errori dipendono dalla versione del linguaggio, da dipendenze mancanti o dall’applicazione che non ascolta su PORT.
Deploy di un’immagine Docker
Esegui un’immagine pronta da Docker Hub o da un registro privato.
Se hai già un’immagine Docker, inserisci il nome completo con tag, porta interna e variabili di ambiente per eseguirla come servizio sempre attivo. In produzione usa un tag specifico, non latest.
Per un registro privato, inserisci nome utente e token di accesso; le credenziali vengono conservate cifrate e usate soltanto per scaricare l’immagine.
La porta interna deve coincidere con quella su cui ascolta il processo nell’immagine. Per database e broker usa l’accesso TCP e per i dati persistenti un Volume.
Collegare GitHub
Collega il tuo account GitHub per eseguire il deploy da repository privati o pubblici.
Per iniziare, nella dashboard apri le impostazioni dell’account, oppure la procedura di deploy, e fai clic su «Collega GitHub».
Verrai indirizzato alla pagina di autenticazione di GitHub. Utilizziamo GitHub App per accedere in modo sicuro soltanto ai repository che scegli, senza richiedere password o autorizzazioni estese.
Dopo la conferma tornerai alla dashboard e vedrai i repository autorizzati. Ogni push sul branch collegato avvia automaticamente una nuova build e un nuovo deploy e registra lo stato sul relativo commit in GitHub.
Collegare GitLab self-hosted
Collega il tuo server GitLab per eseguire il deploy dei progetti.
Se il tuo team usa un server GitLab proprio, puoi collegarlo direttamente alla piattaforma.
Nella sezione di aggiunta del repository scegli GitLab Self-hosted. Inserisci l’indirizzo del tuo GitLab, ad esempio https://gitlab.yourcompany.com , e crea e inserisci un Personal Access Token con permessi read_api e read_repository.
La piattaforma mostrerà i progetti autorizzati e potrai configurare il deploy automatico come con GitHub.
Esempio di applicazione in ascolto su PORT
Le applicazioni dinamiche devono ascoltare sulla porta fornita dalla piattaforma nella variabile PORT. In produzione non è sufficiente fissare una porta come 3000.
const port = process.env.PORT || 3000;
app.listen(port, "0.0.0.0", () => {
console.log(`listening on ${port}`);
});