Docker: Configurer le workflow GitHub Actions

Cette documentation fait partie du guide Déployer avec GitHub Actions. Consultez le guide complet ici : Découvrez comment déployer vos conteneurs Docker avec GitHub Actions.

Bienvenue sur la documentation de Stackhero

Stackhero propose une plateforme Docker cloud CaaS (Containers as a Service) prête à l'emploi, conçue pour des déploiements de containers rapides et fiables :

  • Déployez en production avec une simple commande docker-compose up. Aucune configuration supplémentaire n'est nécessaire : lancez simplement vos containers.
  • Choisissez votre propre nom de domaine, automatiquement sécurisé en HTTPS (par exemple : https://api.votre-entreprise.com, https://www.votre-entreprise.com ou https://backoffice.votre-entreprise.com).
  • Profitez de hautes performances et d'une sécurité renforcée sur une infrastructure privée et dédiée.
  • Appliquez les mises à jour en un clic pour une maintenance simple et sans effort.

Vos containers peuvent être en production en environ cinq minutes. Stackhero gère pour vous l'infrastructure, les mises à jour et la sécurité, afin que vous puissiez vous concentrer sur le développement de vos applications. Découvrez-en plus sur l'hébergement cloud Docker CaaS.

Sur votre machine locale, placez-vous dans votre dépôt Git et créez un dossier nommé .github/workflows. Dans ce dossier, créez un fichier nommé deploy-to-stackhero.yml avec le contenu suivant :

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

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

on:
  push:
    # Ces branches déclenchent l'action de déploiement lors d'un push.
    # Veillez à créer un environnement correspondant au nom de la branche dans GitHub (dans Settings > Environments).
    # Ajoutez ensuite le secret STACKHERO_CERTIFICATES_PASSWORD et la variable STACKHERO_ENDPOINT dans cet environnement.
    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:
        # Le secret STACKHERO_CERTIFICATES_PASSWORD et la variable STACKHERO_ENDPOINT doivent être définis dans l'environnement de branche correspondant sur GitHub.
        certificates_password: ${{ secrets.STACKHERO_CERTIFICATES_PASSWORD }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}
        # deployment_command est optionnel. Utilisez-le si vous souhaitez personnaliser la commande Docker Compose.
        deployment_command: ${{ vars.STACKHERO_DEPLOY_COMMAND }}

Vous pouvez valider vos modifications avec :

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

Pour créer une branche production, exécutez :

git checkout -b production

Puis poussez votre branche production sur GitHub :

git push --set-upstream origin production

Une fois votre code poussé, GitHub Actions le déploiera automatiquement sur votre instance Stackhero de production. Vous pouvez suivre la progression du déploiement dans l'onglet Actions de votre projet GitHub.

GitHub Actions ayant déployé en productionGitHub Actions ayant déployé en production

C'est tout. Votre configuration est maintenant prête pour déployer automatiquement votre code en production avec GitHub Actions.