Docker: Configurare il workflow GitHub Actions

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.

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione Docker cloud CaaS (Containers as a Service) pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Distribuisci facilmente i tuoi container in produzione con un semplice docker-compose up.
  • Nome di dominio personalizzabile protetto con HTTPS (ad esempio, https://api.tua-azienda.com, https://www.tua-azienda.com, https://backoffice.tua-azienda.com).
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.
  • Aggiornamenti senza sforzo con un solo clic.

Risparmia tempo e semplifica la tua vita: bastano 5 minuti per provare la soluzione di hosting cloud Docker CaaS di Stackhero e distribuire i tuoi container in produzione!

Sul vostro computer locale, posizionatevi nella repository Git e create una cartella chiamata .github/workflows. All'interno di questa cartella, create un file chiamato deploy-to-stackhero.yml con il seguente contenuto:

# File: .github/workflows/deploy-to-stackhero.yml

name: Deploy to Stackhero
description: Deploy branch "${{ github.ref_name }}" to Stackhero

on:
  push:
    # These branches trigger the deploy action on push.
    # Be sure to create an environment matching the branch name in GitHub (under Settings > Environments).
    # Then add the secret STACKHERO_CERTIFICATES_PASSWORD and variable STACKHERO_ENDPOINT in that environment.
    branches: [ "production", "staging" ]

jobs:
  Deploy:
    environment: ${{ github.ref_name }}
    runs-on: ubuntu-latest
    steps:
    - uses: stackhero-io/github-actions-deploy-docker-containers-to-stackhero@v1
      with:
        # The secret STACKHERO_CERTIFICATES_PASSWORD and the variable STACKHERO_ENDPOINT should be defined in the corresponding branch environment on GitHub.
        certificates_password: ${{ secrets.STACKHERO_CERTIFICATES_PASSWORD }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}
        # deployment_command is optional. You can use it if you need to customize the Docker Compose command.
        deployment_command: ${{ vars.STACKHERO_DEPLOY_COMMAND }}

Potete confermare le modifiche con:

git add -A .
git commit -m "Add GitHub Actions to deploy to Stackhero"

Per creare un branch di produzione, eseguite:

git checkout -b production

Poi effettuate il push del branch production su GitHub:

git push --set-upstream origin production

Una volta che il codice è stato inviato, GitHub Actions lo distribuirà automaticamente sulla vostra istanza Stackhero di produzione. Potete monitorare l'avanzamento della distribuzione tramite la scheda Actions del vostro progetto GitHub.

GitHub Actions che ha distribuito in produzioneGitHub Actions che ha distribuito in produzione

Ecco fatto. Ora siete pronti per distribuire automaticamente il vostro codice in produzione utilizzando GitHub Actions.