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) Plattform, die für schnelle und zuverlässige Container-Bereitstellungen entwickelt wurde:

  • Deployment in die Produktion mit nur einem docker-compose up. Es ist keine zusätzliche Konfiguration erforderlich: Starten Sie einfach Ihre Container.
  • Wählen Sie Ihren eigenen Domainnamen, der automatisch per HTTPS gesichert wird (zum Beispiel: https://api.ihr-unternehmen.com, https://www.ihr-unternehmen.com oder https://backoffice.ihr-unternehmen.com).
  • Profitieren Sie von hoher Performance und robuster Sicherheit auf einer privaten, dedizierten Infrastruktur.
  • Updates können mit nur einem Klick angewendet werden – für eine einfache und unkomplizierte Wartung.

Ihre Container sind in etwa fünf Minuten produktiv einsatzbereit. Stackhero übernimmt für Sie das Infrastrukturmanagement, Updates und die Sicherheit, sodass Sie sich ganz auf die Entwicklung Ihrer Anwendungen konzentrieren können. Erfahren Sie mehr über das Docker CaaS Cloud Hosting.

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.