Zum Hauptinhalt springen

🚀 Einführung

  • Bevor Sie beginnen, können Sie sich dafür entscheiden, die Deno-Runtime in Ihrem Projekt zu verwenden. Wenn Sie Deno noch nicht lokal installiert haben, stehen Ihnen zwei Hauptoptionen zur Verfügung:
  • Installation über npm (empfohlen für die Kompatibilität mit npx während des Deploys):
npm install deno
  • Oder installieren Sie Deno über den offiziellen Installer (lesen Sie die Deno-Dokumentation für Anweisungen zur nativen Installation).
  • Indem Sie deno als Abhängigkeit hinzufügen, können Sie npx deno im START-Feld von squarecloud.app verwenden, um Ihre Anwendung mit Deno zu starten. Siehe unten im Abschnitt „Anwendung starten“ für START-Beispiele.
  • Als Nächstes müssen Sie ein Konto bei Square Cloud erstellen, was über die Anmeldeseite möglich ist. Sie können Ihre E-Mail, GitHub oder beides verwenden, um das Konto zu erstellen.
  • Schließlich benötigen Sie einen aktiven kostenpflichtigen Plan auf Ihrem Konto. Sie können unsere Pläne einsehen und einen entsprechend Ihren Bedürfnissen hier erwerben.

⚙️ Konfiguration der squarecloud.app-Datei

Wenn du deine Anwendung über die Square Cloud Website hochlädst, kannst du diesen Abschnitt ignorieren. Die Website erstellt die squarecloud.app Konfigurationsdatei automatisch für dich.

Mehr erfahren: So erstellst du die Konfigurationsdatei für Square Cloud.

Die squarecloud.app Datei ist eine Konfigurationsdatei, die zur Konfiguration deiner Anwendung verwendet wird; sie dient dazu, den Namen, die Beschreibung, die Version, die Hauptdatei und weiteres zu definieren.

▶️ So starten Sie Ihre Anwendung

  • Um die Deno-Runtime in der Node.js-Umgebung von Square Cloud zu verwenden, fügen Sie zunächst das deno-Paket zu Ihrem Projekt hinzu (z. B. npm install deno), damit der Befehl npx deno in der Runtime-Umgebung verfügbar ist.
  • Legen Sie dann das START-Feld in Ihrer squarecloud.app mit dem Befehl fest, der Ihre Anwendung mit Deno startet. Beispiele:
OR .config
START=npx deno run --allow-net --allow-env main.ts
Wenn Sie in deno.json definierte Tasks verwenden, können Sie so starten:
START=npx deno task start
  • Passen Sie die Berechtigungen (--allow-net, --allow-env, --allow-read usw.) entsprechend den Anforderungen Ihrer Anwendung an.
  • Denken Sie daran: Wenn das START-Feld definiert ist, wird der darin enthaltene Wert direkt ausgeführt. Weitere Informationen zu den Parametern der Konfigurationsdatei finden Sie unter Konfigurationsparameter.
  • Wenn Sie npm-Module mit Deno verwenden und der Ordner node_modules nicht existiert, führt Square Cloud npm install --no-package-lock --no-audit --no-fund aus, um die Abhängigkeiten zu installieren und den Ordner .npm zu bereinigen.
Wenn Sie Deno als Runtime verwenden möchten, empfehlen wir, deno als Abhängigkeit hinzuzufügen (npm install deno), um sicherzustellen, dass npx deno während des Deploys in der Runtime-Umgebung verfügbar ist. Bei Projekten, in denen Sie den nativen Deno-Installer bevorzugen, prüfen Sie die Kompatibilität und Ihre Build-Anforderungen, bevor Sie sich für diesen Ansatz entscheiden.

🖥️ Vorbereitung des Projekts

📁 Wesentliche Konfigurationsdateien

Wenn Sie Ihr Deno-Projekt für den Deploy auf Square Cloud vorbereiten, stellen Sie sicher, dass Sie die Konfigurationsdatei (squarecloud.app/.config) und die wesentlichen Dateien Ihrer Anwendung in eine Zip-Datei aufnehmen.
Die Konfigurationsdatei (squarecloud.app/.config) muss sich im Stammverzeichnis der Zip-Datei befinden. Andernfalls kann Square Cloud sie während des Deploys nicht finden.

🗑️ Vor dem Hochladen auszuschließende Dateien

  • node_modules: Nur erforderlich, wenn Sie npm-Module verwenden; andernfalls nicht hochladen, um die Upload-Größe zu reduzieren.
  • package-lock.json: Die Produktionsumgebung installiert die Abhängigkeiten auf Basis von package.json, wenn eine npm-Nutzung erkannt wird.
  • deno_dir oder .cache/deno: Deno-Cache-Verzeichnis; für den Deploy nicht erforderlich.

🤔 Warum diese Dateien ausschließen?

Es gibt mehrere Gründe, node_modules, package-lock.json und den Deno-Cache vor dem Hochladen Ihres Projekts auszuschließen:
  1. Installationskonsistenz: Wenn Sie node_modules nicht hochladen, stellen Sie sicher, dass die Abhängigkeiten von der Produktionsumgebung installiert werden, was zu einem konsistenten Build frei von Diskrepanzen des lokalen Systems führt.
  2. Aktualisierte Installationen: Die Produktionsumgebung installiert die neuesten kompatiblen Versionen der in package.json aufgeführten Abhängigkeiten (sofern zutreffend) oder verwendet die in deno.json definierten Remote-Importe.
  3. Reduzierung der Upload-Größe: Wenn Sie diese Verzeichnisse nicht einbeziehen, verringert sich die Größe der hochgeladenen Datei, was den Upload-Vorgang beschleunigt und den Deploy effizienter macht.
Auf diese Weise stellen Sie sicher, dass Ihre Deno-Anwendung optimal für das Hosting auf Square Cloud vorbereitet ist.

📄 Erforderliche Dateien

Drei Dateien sind erforderlich, um Ihr Deno-Projekt zu hosten:
  • squarecloud.app/.config
  • mainFile.ts/.js (Beispiel einer Hauptdatei)
  • deno.json oder deno.jsonc (Definition der Berechtigungen und Tasks). Wenn Sie npm-Module verwenden, fügen Sie auch package.json hinzu.

💡 Fehlerbehebung

Dieser Fehler tritt auf, wenn die als „main“ für Ihre Anwendung in der Konfigurationsdatei definierte Datei nicht existiert, falsch geschrieben ist oder der Pfad falsch ist. Wenn sich Ihre Hauptdatei beispielsweise in einem Ordner befindet, müssen Sie folder/file.ts oder folder/file.js angeben.
Die für das Hosting eines Bots erforderliche Mindestmenge an RAM beträgt 256MB und für eine Website/API 512MB. Je nach Größe und Komplexität Ihrer Anwendung kann es jedoch ratsam sein, mehr RAM zuzuweisen, um zu vermeiden, dass Ihrer Anwendung der Speicher ausgeht und sie abstürzt.

📤 So hosten Sie Ihr Projekt

Nachdem Sie nun alle Dateien für Ihr Deno-Projekt vorbereitet haben, besteht der nächste Schritt darin, sie auf Square Cloud hochzuladen und Ihre Anwendung online zu stellen. Es gibt mehrere Möglichkeiten zum Hochladen, aber wir behandeln zwei: über das Dashboard oder über die CLI.

Über das Dashboard

1

Upload-Seite aufrufen

Rufe die Upload-Seite auf und lade die ZIP-Datei deines Projekts hoch.
2

Umgebung konfigurieren

Nachdem du deine ZIP-Datei hochgeladen hast, musst du den Namen, die Hauptdatei oder Runtime-Umgebung und weitere Einstellungen für dein Projekt konfigurieren.
Wenn du ein Web-Projekt hochlädst, achte darauf, “Web Publication” auszuwählen und deinem Projekt eine Subdomain zuzuweisen.
3

Projekt bereitstellen

Klicke abschließend auf die Schaltfläche “Deploy”, um dein Projekt auf Square Cloud zu hosten.
Nach dem Deploy kannst du den Status und die Logs deines Projekts über das Dashboard überwachen.
Anwendung wird auf Square Cloud hochgeladen

Über die CLI

Um diese Methode zu nutzen, musst du eine Konfigurationsdatei mit dem Namen squarecloud.app im Stammverzeichnis deines Projekts erstellen. Diese Datei enthält die notwendige Konfiguration für dein Projekt.

Mehr erfahren: So erstellst du die Konfigurationsdatei für Square Cloud.

Die Datei squarecloud.app ist eine Konfigurationsdatei, mit der deine Anwendung konfiguriert wird; sie dient dazu, deine Umgebung zu definieren.
1

CLI installieren

Zuerst musst du die CLI in deiner Umgebung installiert haben. Falls du sie noch nicht hast, führe den folgenden Befehl in deinem Terminal aus:
npm install -g @squarecloud/cli
Falls du sie bereits hast, empfehlen wir, sie zu aktualisieren. Führe dazu den folgenden Befehl in deinem Terminal aus:
squarecloud update
2

Authentifizieren

Um dich zu authentifizieren und weitere CLI-Befehle zu nutzen, findest du deinen Autorisierungsschlüssel hier, indem du auf “Request API Key” klickst. Nachdem du deinen Autorisierungsschlüssel erhalten hast, führe den folgenden Befehl aus:
squarecloud auth login
3

Projekt hochladen

Um deine Anwendung schließlich über die CLI auf Square Cloud bereitzustellen, musst du den folgenden Befehl ausführen:
squarecloud upload 
Oder falls du die ZIP-Datei manuell erstellt hast, kannst du Folgendes verwenden:
squarecloud upload --file <path/to/zip> 

Kontaktiere uns

Falls du weiterhin technische Schwierigkeiten hast, steht dir unser spezialisiertes Support-Team zur Verfügung. Kontaktiere uns und wir helfen dir gerne, jedes Problem zu lösen.