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.
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.
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 produzione
Ecco fatto. Ora siete pronti per distribuire automaticamente il vostro codice in produzione utilizzando GitHub Actions.