Python: GitHub Actions Workflow konfigurieren

Diese Dokumentation ist Teil des Deployment mit GitHub Actions-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie Sie Ihren Python-Code mit GitHub Actions bereitstellen.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Python Cloud-Lösung, die Ihren Deployment-Prozess vereinfacht:

  • Deployen Sie Ihre Anwendung in die Produktion in Sekunden mit einem einfachen git push.
  • Verwenden Sie Ihre eigene Domain, mit automatischer HTTPS-Zertifikatskonfiguration – sichere Verbindungen werden für Sie eingerichtet.
  • Profitieren Sie von automatischen Backups, One-Click-Updates und planbaren Kosten, damit Sie sich auf Ihren Code konzentrieren können, nicht auf das Infrastrukturmanagement.
  • Nutzen Sie starke Performance und Sicherheit auf einer privaten, dedizierten Infrastruktur. Ihre Umgebung ist isoliert und geschützt.

Sparen Sie Zeit und vereinfachen Sie Ihren Workflow: Ihr Code läuft mit Stackheros Python Cloud Hosting in nur 5 Minuten.

Erstellen Sie in Ihrem Git-Repository ein Verzeichnis namens .github/workflows, falls es noch nicht existiert. Legen Sie darin eine Datei mit dem Namen deploy-to-stackhero.yml an.

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

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

on:
  push:
    # Liste der Branches, die nach einem git push die Deploy-Action auslösen.
    # Vergessen Sie nicht, eine Umgebung mit dem entsprechenden Branch-Namen in GitHub (unter "Settings"/"Environments") anzulegen.
    # Fügen Sie dann das entsprechende Secret "STACKHERO_SSH_PRIVATE_KEY" 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-to-stackhero@v1
      with:
        # Das Secret "STACKHERO_SSH_PRIVATE_KEY" und die Variable "STACKHERO_ENDPOINT" müssen in der entsprechenden Branch-Umgebung auf GitHub unter "Settings"/"Environments" definiert sein.
        ssh_private_key: ${{ secrets.STACKHERO_SSH_PRIVATE_KEY }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}

Nachdem Sie die Workflow-Datei hinzugefügt haben, können Sie Ihre Änderungen committen:

git add -A .
git commit -m "GitHub Actions für Deployment zu Stackhero hinzufügen"

Sie können einen Production-Branch mit folgendem Befehl erstellen:

git checkout -b production

Und Ihre Änderungen zu GitHub pushen:

git push --set-upstream origin production

Dadurch wird Ihr Code auf den production-Branch bei GitHub gepusht und GitHub Actions ausgelöst, um Ihren Code auf Ihrer Stackhero-Instanz zu deployen.

Um den Status Ihres Deployments zu prüfen, besuchen Sie einfach die GitHub-Projektseite und klicken Sie auf Actions.

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

Das war's. Sie haben jetzt automatische Deployments in Produktion mit GitHub Actions eingerichtet.