Docker: GitHub Actions Workflow konfigurieren

Diese Dokumentation ist Teil des Mit GitHub Actions bereitstellen-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Erfahren Sie, wie Sie Ihre Docker-Container mit GitHub Actions bereitstellen.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Docker Cloud CaaS (Containers as a Service) Lösung, die zahlreiche Vorteile bietet, darunter:

  • Einfache Bereitstellung Ihrer Container in der Produktion mit nur einem docker-compose up.
  • Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://api.ihre-firma.com, https://www.ihre-firma.com, https://backoffice.ihre-firma.com).
  • Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.
  • Mühelose Updates mit nur einem Klick.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Docker CaaS Cloud Hosting Lösung von Stackhero auszuprobieren und Ihre Container in der Produktion bereitzustellen!

Wechseln Sie auf Ihrer lokalen Maschine in Ihr Git-Repository und erstellen Sie ein Verzeichnis namens .github/workflows. Legen Sie darin eine Datei mit dem Namen deploy-to-stackhero.yml und folgendem Inhalt an:

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

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

on:
  push:
    # Diese Branches lösen die Deploy-Action beim Push aus.
    # Stellen Sie sicher, dass Sie in GitHub (unter Settings > Environments) eine Umgebung mit dem Branch-Namen anlegen.
    # Fügen Sie dann das Secret STACKHERO_CERTIFICATES_PASSWORD und die Variable STACKHERO_ENDPOINT in dieser Umgebung hinzu.
    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:
        # Das Secret STACKHERO_CERTIFICATES_PASSWORD und die Variable STACKHERO_ENDPOINT sollten in der entsprechenden Branch-Umgebung in GitHub definiert sein.
        certificates_password: ${{ secrets.STACKHERO_CERTIFICATES_PASSWORD }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}
        # deployment_command ist optional. Sie können es verwenden, wenn Sie den Docker Compose-Befehl anpassen möchten.
        deployment_command: ${{ vars.STACKHERO_DEPLOY_COMMAND }}

Sie können Ihre Änderungen wie folgt committen:

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

Um einen Production-Branch zu erstellen, führen Sie aus:

git checkout -b production

Und pushen Sie dann Ihren Production-Branch zu GitHub:

git push --set-upstream origin production

Sobald Ihr Code gepusht ist, wird GitHub Actions ihn automatisch auf Ihrer Stackhero-Produktionsinstanz bereitstellen. Den Fortschritt des Deployments können Sie im Tab Actions Ihres GitHub-Projekts verfolgen.

GitHub Actions, die nach Produktion deployed habenGitHub Actions, die nach Produktion deployed haben

Das war's. Sie sind jetzt bereit, Ihren Code automatisch mit GitHub Actions in die Produktion zu deployen.