Einführung von GitHub Actions für Compute – eine neue Ressource, die Ihnen dabei hilft, Ihren Code auf die Edge zu bringen.

Eines der Leitprinzipien beim Erstellen, Testen und Bereitstellen von Code in unserer Serverless-Compute-Umgebung Compute ist, Entwicklern ein möglichst reibungsloses und ergonomisches Erlebnis zu bieten. Als Teil des Developer Relations Teams darf ich viele spannende Tools auf unserer eigenen Plattform bauen. Das ist eine großartige Möglichkeit, um Bereiche zu finden, in denen wir das Entwicklererlebnis noch weiter verbessern können. Und weil wir auch selbst oft Anwendungen schnell auf Fastly bereitstellen müssen, stellen wir heute GitHub Actions für Compute vor. 

Schauen wir uns einmal näher an, was neu ist und wie es sich von den VCL-Deployment-Workflows unterscheidet, die Sie vielleicht bereits kennen.

Infrastruktur als Code = automatisierte Bereitstellungen

Für Kunden, die VCL verwenden, um Edge-Logik in ihren Fastly Services zu erstellen, geben Sie uns Ihren VCL-Code in Quellform (entweder über die API oder unser Web-Interface). Anschließend konvertieren wir Ihr VCL mithilfe unseres eigenen Compilers in hochoptimiertes und sicheres C, um es als nativen Code auf unseren Edge-Servern auszuführen.

Die Eingabe von Code in eine Web-Oberfläche mag zwar bequem sein, aber viele Kunden mit komplexen Services betrachten ihr VCL schnell nicht mehr nur als „Konfiguration“, sondern als integralen Bestandteil der Architektur ihres Gesamtsystems. Selbst wenn Ihr Fastly Service unglaublich einfach ist, besagt die moderne Philosophie, die gesamte Infrastruktur als Code zu behandeln. Sie können also, unabhängig davon, ob Sie Ihre Konfiguration als Software betrachten oder nicht, dennoch davon profitieren, sie in Code zu verwandeln und auf wiederholbare, automatisierbare Weise bereitzustellen.

Die moderne Lösung für „Infrastruktur als Code“ wird in erster Linie von Continuous-Integration- (CI)-Systemen wie Travis, CircleCI, Jenkins und neuerdings auch GitHub Actions unterstützt. Ein CI-Server kann Ihre Test- und Deployment-Skripte automatisch ausführen, sobald Code in Ihr Repository verschoben wird. So können Sie Ihre Services über die Fastly Command Line Interface (CLI) oder API bereitstellen.

Für unsere Kunden, die VCL verwenden, bieten wir mit unseremTerraform Provider einen Industriestandard für die Verwaltung von „Infrastructure as Code“. Seit Jahren wird dies von Teams genutzt, um Änderungen an Fastly Services bereitzustellen, aber Compute bringt einige Neuerungen mit sich.

Zusätzlicher Build-Schritt in Compute

Mit Compute müssen Sie Ihren Code in eineWasm-Binärdatei kompilieren, bevor Sie ihn an Fastly senden. Die Fastly CLI stellt entsprechende Befehle zur Verfügung und kann auf Ihren Entwicklungssystemen oder in Ihrer CI-Umgebung verwendet werden, um Ihre Compute Anwendungen zu entwickeln und bereitzustellen.

Sie müssen also zur Automatisierung von Bereitstellungen die CI-Plattform anweisen, Fastly CLI zu installieren, Ihren Code zu kompilieren und die Authentifizierungs-Tokens, die Ihnen den Zugriff auf Ihren Fastly Account geben, sicher abzuspeichern.

Wir präsentieren: GitHub Actions für Compute

GitHub Actions entwickelt sich dank seiner Nutzerfreundlichkeit und der Integration mit GitHub Quellcode-Repositories zu einem der beliebtesten CI-Systeme auf dem Markt. Das Entwicklerteam bei loveholidays erstellt seine Compute Deployment-Workflows zum Beispiel bereits mit diesem neuen Tool.

Der Reiz von GitHub Actions ist die riesige Bibliothek an von der Community erstellten Open-Source-Workflows, die über einen Marktplatz zur Verfügung gestellt werden. Dort finden Entwickler Actions, die für ihre Projekte relevant sein könnten. Außerdem ist es jetzt einfacher denn je, ein Drittanbieter-Tool in Ihre CI-Workflows zu implementieren.

Wir haben GitHub Actions für Compute entwickelt, damit Sie im Vergleich zu einem herkömmlichen CI-Ansatz problemlos von einer manuell bereitgestellten Anwendung zu einem vollständig automatisierten Bereitstellungs-Workflow übergehen können.So können wir vertraute Muster aus dem Deployment von Webanwendungen verwenden, um serverseitige Logik auf die Edge, also näher zu Ihren Nutzern verlagern. 

Probieren Sie es aus

Wenn Sie GitHub Actions verwenden möchten, um automatische Deployments in Ihrer eigenen Compute Umgebung zu aktivieren, erfahren Sie hier, wie die Einrichtung für Rust Projekte funktioniert:

  1. Erstellen Sie eine Workflow-Konfiguration im Verzeichnis .github/workflows mit folgendem Inhalt:

name: Deploy Application
on:
  push:
    branches: [main] # change to your default branch name
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
  - name: Install Rust toolchain
      uses: actions-rs/toolchain@v1
      with:
          toolchain: 1.49.0 # current Rust toolchain for Compute@Edge
          target: wasm32-wasi # WebAssembly target
    - name: Deploy to Compute@Edge
      uses: fastly/compute-actions@beta
      env:
        FASTLY_API_TOKEN: ${{ secrets.FASTLY_API_TOKEN }}

Diese Workflow-Konfiguration weist GitHub an, auf Ihr Repository zuzugreifen, Rust zu installieren und Ihre Rust Anwendung zu kompilieren und auf Compute bereitzustellen.

2. Fügen Sie Ihr Fastly API-Token als Variable mit dem Namen FASTLY_API_TOKEN zu „Secrets“ in den Repository-Einstellungen hinzu. Es muss die Berechtigung haben, neue Service-Versionen zu erstellen und zu aktivieren.

3. Committen Sie Ihre Einstellungen und legen Sie sie im Hauptzweig Ihres Repositorys ab.

4. Wechseln Sie zum Tab „Actions“ Ihres Repositorys und überwachen Sie die Logs. Wenn die Erstellung und Implementierung erfolgreich war, sollte die Domain Ihres Fastly Services in der Konsole angezeigt werden.Hinweis: Da Compute derzeit nur begrenzt verfügbar ist, erfordert die Fastly CLI eine bestimmte Version der Rust Toolchain. Wenn eine zukünftige Version der CLI die Toolchain-Version ändert, müssen Sie den Actions Workflow entsprechend aktualisieren.

Ausblick

Wir hoffen, dass wir diese Version ausbauen können, um weitere Continuous-Integration-Tools wie Tests, Vorschauzweige und Commit-Status zur Verfügung zu stellen. Falls Sie Probleme haben oder neue Funktionen sehen möchten, setzen Sie sich bitte über dasFehler-Tracking oder dasDeveloper Hub Feedback-Formular mit uns in Verbindung.

Kailan Blanks
Senior Software Engineer, Developer Relations
Veröffentlicht am

Lesedauer: 4 Min.

Sie möchten sich mit einem Experten austauschen?
Sprechen Sie mit einem Experten
Diesen Beitrag teilen
Kailan Blanks
Senior Software Engineer, Developer Relations

Als Software Engineer im Developer Relations Team bei Fastly ist Kailan verantwortlich für kundenorientierte Tools und Inhalte. Zu seinen Aufgaben gehört unter anderem die Pflege des Fastly Developer Hubs und verschiedener Open-Source-Projekte für unsere Serverless-Compute-Umgebung Compute@Edge. In seiner Freizeit erwischt man ihn oft auf seinem Elektro-Skateboard in den entlegensten Ecken Cornwalls.

Sie möchten loslegen?

Setzen Sie sich mit uns in Verbindung oder erstellen Sie einen Account.