Docker: Configurare variabili d'ambiente e segreti

Questa documentazione fa parte della guida Distribuire con GitHub Actions. Consulta la guida completa qui: Scoprite come distribuire i vostri container Docker utilizzando GitHub Actions.

Benvenuto nella documentazione di Stackhero

Stackhero offre una piattaforma Docker cloud CaaS (Containers as a Service) pronta all'uso, progettata per un deployment di container veloce e affidabile:

  • Effettua il deployment in produzione con un semplice docker-compose up. Nessuna configurazione aggiuntiva: avvia semplicemente i tuoi container.
  • Scegli il tuo nome di dominio, automaticamente protetto con HTTPS (ad esempio: https://api.tua-azienda.com, https://www.tua-azienda.com oppure https://backoffice.tua-azienda.com).
  • Approfitta di elevate prestazioni e sicurezza avanzata su un'infrastruttura privata e dedicata.
  • Applica gli aggiornamenti con un solo clic per una manutenzione semplice e senza sforzo.

I tuoi container possono essere operativi in produzione in circa cinque minuti. Stackhero gestisce per te infrastruttura, aggiornamenti e sicurezza, così puoi concentrarti sullo sviluppo delle tue applicazioni. Scopri di più sull'hosting cloud Docker CaaS.

Per consentire a GitHub Actions di connettersi al vostro servizio Docker Stackhero, avrete bisogno di due informazioni: il nome di dominio del servizio e la password dei certificati.

  1. Nel pannello di controllo Stackhero, selezionate il vostro servizio Docker "production" e fate clic sul pulsante "Configure".

    Ottenere le impostazioni del servizioOttenere le impostazioni del servizio

  2. Copiate sia il "Domain name" che la "Docker certificates password" per utilizzarli nei passaggi successivi.

    Ottenere le impostazioni del servizioOttenere le impostazioni del servizio

  1. In GitHub, aprite il vostro progetto.

  2. Andate su Settings > Environments, quindi fate clic su New environment.

    Configurazione degli ambienti GitHubConfigurazione degli ambienti GitHub

  3. Nel campo Name, inserite "production" e confermate.

    Impostazione dell'ambienteImpostazione dell'ambiente

  4. Fate clic sul pulsante No restriction e scegliete Selected branches and tags.

    Impostazione delle restrizioni dell'ambienteImpostazione delle restrizioni dell'ambiente

  5. Fate clic su Add deployment branch or tag rule, inserite "production" nel campo Name pattern e poi fate clic su Add rule.

    Impostazione del branch dell'ambienteImpostazione del branch dell'ambiente Impostazione del branch dell'ambienteImpostazione del branch dell'ambiente

  6. Sotto Environment secrets, fate clic su Add secret.

    Aggiungi secretAggiungi secret

  7. Per il secret, usate STACKHERO_CERTIFICATES_PASSWORD come nome e incollate la vostra password dei certificati nel campo Value.

    Impostazione del secret della password dei certificatiImpostazione del secret della password dei certificati

  8. Sotto Environment variables, fate clic su Add variable.

    Impostazione delle variabiliImpostazione delle variabili

  9. Usate STACKHERO_ENDPOINT come nome e incollate l'endpoint del vostro servizio Docker nel campo Value. Potete trovare questo endpoint nel vostro pannello di controllo Stackhero.

    Impostazione della variabile endpointImpostazione della variabile endpoint

Se avete personalizzato il nome di dominio del vostro servizio, ricordate di utilizzare il vostro dominio personalizzato invece di <XXXXXX>.stackhero-network.com.

Se il file docker-compose.yml si trova già nella root del vostro progetto e non avete bisogno di personalizzazioni, potete saltare questa sezione.

Per impostazione predefinita, GitHub Actions cercherà il file docker-compose.yml nella directory principale del progetto. Se avete bisogno di utilizzare un file diverso o una configurazione personalizzata, potete modificare il comando di deploy. Ad esempio, se utilizzate il nostro boilerplate Node.js e Docker per iniziare, potete creare una nuova variabile d'ambiente chiamata STACKHERO_DEPLOY_COMMAND e impostarla così:

docker compose --env-file env.list --file docker/docker-compose.yml --file docker/docker-compose.production.yml up --build --remove-orphans -d