English | Deutsch

Preview Deployments mit GitHub Actions

Deployment Ihrer Pull Requests von GitHub zu Codesphere ohne jeglichen Wartungsaufwand.

December 14, 2023 2 Min Lesezeit
Preview Deployments mit GitHub Actions
Preview Deployments mit GitHub Actions

Simon Pfeiffer

Head of Product @ Codesphere

Mit Preview Deployments können Sie automatisch Deployments für Änderungen erstellen, die Sie an Ihrer Anwendung vornehmen. Einmal eingerichtet, werden alle Änderungen, die in den Pull Requests Ihrer Repositories veröffentlicht werden, automatisch in einem Codesphere Workspace deployed. Der Link zum Preview Deployment ist im Pull Request verfügbar.

Der Vorteil eines solchen Preview Deployments ist, dass jedes Teammitglied einen Blick auf den aktuellen Stand der Entwicklung einer neuen Funktion werfen kann.

Schritt-für-Schritt-Anleitung

  1. Richten Sie ein Codesphere-Konto mit Benutzernamen und Passwort ein (OAuth-User können ein Passwort über den Link Passwort vergessen auf der Anmeldeseite festlegen)
  2. Verbinden Sie dieses Konto mit Ihrem GitHub-Repository (gewähren Sie den Zugriff im Modal "Create Workspace")
  3. Öffnen Sie die Einstellungen des Repositorys in GitHub
  4. Erstellen Sie unter Secrets and Variables/Actions zwei Secrets CODESPHERE_EMAIL & CODESPHERE_PASSWORD mit Ihren Anmeldedaten
  5. Erstellen Sie das Verzeichnis /.github/workflows/ in Ihrem Repository
  6. Fügen Sie eine neue Datei main.yml in dieses Verzeichnis ein
  7. Fügen Sie die folgenden Zeilen zu dieser Datei hinzu, übertragen Sie sie und fügen Sie sie hinzu
on:
  workflow_dispatch:
  # open, reopen and synchronize will deploy a workspace for the current commit.
  # If a workspce is already deployed, that workspace is updated to the newest version.
  #
  # closed: Workspace will be deleted
  pull_request:
    types:
    - closed
    - opened
    - reopened
    - synchronize

permissions:
  contents: read
  pull-requests: read
  deployments: write

jobs:
  deploy:
    # prevent multiple workspaces to be created for the same branch
    concurrency: codesphere
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Deploy
        uses: codesphere-cloud/gh-action-deploy@main
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
        with:
            email: ${{ secrets.CODESPHERE_EMAIL }}
            password: ${{ secrets.CODESPHERE_PASSWORD }}
            team: 'My Team' # Change this to your team
            plan: 'Boost' # Select the plan for your app (Micro, Boost or Pro)
            onDemand: 'true' # Set this to true for on demand 
            env: |
              MY_ENV=test
              MY_SECRET=${{ secrets.MY_SECRET }}            
  1. Öffnen Sie einen Pull Request für das Repository - Ihr Deployment wird gestartet

Alle Konfigurationsoptionen

E-Mail

Erforderliche E-Mail des Codesphere Users.

Passwort

Erforderliches Passwort des Codesphere Users.

Team

Erforderlich Name des Codesphere-Teams.

Plan

Plan des erstellten Workspace. Die entsprechenden Mengen an Rechenleistung, Arbeitsspeicher und Speicherplatz finden Sie auf der Preisseite Verfügbare Optionen:

  • Micro
  • Boost
  • Pro

Standardmäßig "Boost".

onDemand

Bei true werden die Workspaces im Off-When-Unused Deployment-Modus deployt.

env

Setzen Sie Umgebungsvariablen in Ihrem Workspace, indem Sie dotenv wie die Definition von Umgebungsvariablen verwenden. Siehe https://www.npmjs.com/package/dotenv für Details.

Über den Autor

Preview Deployments mit GitHub Actions

Simon Pfeiffer

Head of Product @ Codesphere

Simon ist verantwortlich für unser Produktmarketing und die Roadmap. Er ist ein ehemaliger Green-Tech-Gründer und IT-Berater bei KPMG. Er berichtet über Trends und Erkenntnisse aus dem Aufbau von Codesphere.

Weitere Beiträge

Deployment von Landscapes auf Codesphere

Deployment von Landscapes auf Codesphere

Lernen Sie, wie Sie mehrere Dienste, die unabhängig voneinander vertikal und horizontal skaliert werden können, innerhalb eines einzigen Workspace deployen und runen können. Geeignet für das Hosting ganzer Anwendungslandschaften.

Monitoring & Alerting

Monitoring & Alerting

Erfahren Sie, wie Sie auf das in Codesphere integrierte Ressourcen Monitoring zugreifen und die Betriebszeit Ihrer Anwendungen überprüfen können.

Pfadbasiertes Routing

Pfadbasiertes Routing

Erfahren Sie, wie Sie mehrere unabhängige Anwendungen mit einer einzigen Domäne verbinden, indem Sie verschiedene Pfade mit unterschiedlichen Workspaces verknüpfen