Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Node.js-Anwendungen erstellen

Auf dieser Seite wird beschrieben, wie Sie Cloud Build so konfigurieren, dass es Ihre Node.js-Anwendungen erstellt und testet. Wenn Sie Cloud Build noch nicht kennen, lesen Sie zuerst die Kurzanleitungen sowie die Übersicht über die Build-Konfiguration.

Mit Cloud Build können Sie jedes öffentlich verfügbare Container-Image zur Ausführung Ihrer Aufgaben verwenden. Im öffentlichen node-Image aus Docker Hub sind die Tools npm und yarn vorinstalliert. Sie können Cloud Build so konfigurieren, dass Ihr Node.js-Projekt mit diesen Tools erstellt wird.

Hinweis

Die Anleitung auf dieser Seite setzt voraus, dass Sie mit Node.js vertraut sind. Außerdem gilt:

  • Halten Sie Ihr Node.js-Projekt bereit, einschließlich der Dateien package.json und test.js.
  • Achten Sie darauf, dass die package.json-Datei ein start- und ein test-Skript enthält.
  • Zum Ausführen der gcloud-Befehle auf dieser Seite müssen Sie das gcloud-Befehlszeilentool installieren.

Mit npm oder yarn erstellen

Damit die Aufgaben im Image node von Docker Hub ausgeführt werden, geben Sie in der Cloud Build-Konfigurationsdatei im Feld name die Image-URL an. Cloud Build startet den im Feld name angegebenen Container mithilfe des Standardeinstiegspunkts des Images. Wenn Sie den Standardeinstiegspunkt überschreiben und definieren möchten, wie der Build-Schritt ausgeführt werden soll, wenn er ausgelöst wird, fügen Sie dem Build-Schritt ein entrypoint-Feld hinzu. Beim Image node in Docker Hub sind die Tools npm und yarn vorinstalliert. Geben Sie die Tools im Feld entrypoint an, um sie als Einstiegspunkt für den Build-Schritt aufzurufen.

Für die folgende Beispiel-Build-Konfigurationsdatei gilt:

  • Das Feld name gibt an, dass das Image node aus Docker Hub von Cloud Build zum Ausführen Ihrer Aufgabe verwendet wird. Wenn Sie das Image node angeben, können Sie entweder die Knotenversion weglassen, sodass der Standardwert :latest verwendet wird, oder eine Knotenversion festlegen, um eine bestimmte Version zu verwenden. Beispiel: name: node verwendet die neueste Version des Knotens und name: node:12 verwendet node:12.
  • Das Feld entrypoint gibt an, dass das Tool npm oder yarn verwendet wird, wenn das Image node aufgerufen wird.

npm

  steps:
  - name: node
    entrypoint: npm

yarn

  steps:
  - name: node
    entrypoint: yarn

Node.js-Builds konfigurieren

  1. Erstellen Sie im Stammverzeichnis des Projekts eine Konfigurationsdatei mit dem Namen cloudbuild.yaml.

  2. Abhängigkeiten installieren: Bevor Sie Ihre Anwendung erstellen können, müssen alle Abhängigkeiten Ihres Projekts mit npm oder yarn installiert werden. Sie können Abhängigkeiten mit dem install-Befehl innerhalb des npm- oder des yarn-Build-Schritts installieren. Im Feld args eines Build-Schritts wird eine Liste von Argumenten abgerufen und an das Image übergeben, auf das im Feld "Name" verwiesen wird. Fügen Sie in Ihrer Build-Konfigurationsdatei install zum args-Feld hinzu, um den install-Befehl aufzurufen:

    npm

    steps:
    - name: node
      entrypoint: npm
      args: ['install']
    

    yarn

    steps:
    - name: node
      entrypoint: yarn
      args: ['install']
    
  3. Tests hinzufügen: Wenn Sie in der package.json ein test-Skript definiert haben, können Sie Cloud Build so konfigurieren, dass es das Skript ausführt, indem Sie test zum Feld args hinzufügen:

    npm

    steps:
    - name: node
      entrypoint: npm
      args: ['install']
    - name: node
      entrypoint: npm
      args: ['test']
    

    yarn

    steps:
    - name: node
      entrypoint: yarn
      args: ['install']
    - name: node
      entrypoint: yarn
      args: ['test']
    
  4. Benutzerdefinierte Befehle ausführen: Wenn die package.json benutzerdefinierte Befehle enthält, können Sie Cloud Build für die Ausführung dieser Befehle konfigurieren. Fügen Sie im Feld args als erstes Argument run hinzu, gefolgt vom Namen des benutzerdefinierten Befehls. Die folgende Build-Konfigurationsdatei enthält Argumente zum Ausführen eines benutzerdefinierten Befehls namens build:

    npm

    steps:
    - name: node
      entrypoint: npm
      args: ['install']
    - name: node
      entrypoint: npm
      args: ['test']
    - name: node
      entrypoint: npm
      args: ['run', 'build']
    

    yarn

    steps:
    - name: node
      entrypoint: yarn
      args: ['install']
    - name: node
      entrypoint: yarn
      args: ['test']
    - name: node
      entrypoint: yarn
      args: ['run', 'build']
    
  5. Starten Sie mit der Build-Konfigurationsdatei den Build:

    gcloud builds submit --config [CONFIG_FILE_PATH] [SOURCE_DIRECTORY]
    

    Dabei gilt:

    • [CONFIG_FILE_PATH] ist der Pfad zur Build-Konfigurationsdatei.
    • [SOURCE_DIRECTORY] ist der Pfad oder die URL zum Quellcode.

    Wenn Sie [CONFIG_FILE_PATH] und [SOURCE_DIRECTORY] im Befehl gcloud builds submit nicht angeben, geht Cloud Build davon aus, dass sich die Konfigurationsdatei und der Quellcode im aktuellen Arbeitsverzeichnis befinden.

Mehrere node-Versionen testen

Manchmal muss Ihr Projekt in mehreren Versionen von node funktionieren. Sie können Cloud Build-Trigger folgendermaßen erstellen und konfigurieren:

  • Geben Sie in der Build-Konfigurationsdatei die node-Version als eine Substitutionsvariable an.
  • Erstellen Sie einen Trigger für jede Version von node, mit der Sie Ihre Anwendung erstellen möchten.
  • Verwenden Sie in den einzelnen Triggereinstellungen das Feld für den Wert der Substitutionsvariable, um die Version von node für den jeweiligen Trigger anzugeben.

In den folgenden Schritten wird erläutert, wie Sie die node-Version mithilfe von triggerspezifischen Substitutionsvariablen angeben:

  1. Fügen Sie Ihrem Repository-Stammverzeichnis eine Build-Konfigurationsdatei hinzu, die die node-Version als Substitutionsvariable angibt. Im folgenden Beispiel für eine Build-Konfigurationsdatei ist $_NODE_VERSION eine benutzerdefinierte Substitutionsvariable:

    npm

    steps:
    - name: node:$_NODE_VERSION
      entrypoint: npm
      args: ['install']
    - name: node:$_NODE_VERSION
      entrypoint: npm
      args: ['test']
    

    yarn

    steps:
    - name: node:$_NODE_VERSION
      entrypoint: yarn
      args: ['install']
    - name: node:$_NODE_VERSION
      entrypoint: yarn
      args: ['test']
    
  2. Erstellen Sie für jede Version von node, mit der Sie die Anwendung erstellen möchten, mithilfe der folgenden Schritte einen Build-Trigger:

    1. Öffnen Sie die Seite Trigger in der Google Cloud Console:

      Zur Seite "Trigger"

    2. Wählen Sie oben auf der Seite im Drop-down-Menü zur Projektauswahl Ihr Projekt aus.

    3. Klicken Sie auf Öffnen.

    4. Klicken Sie auf Trigger erstellen.

      Auf der Seite Erstellen Sie einen Trigger geben Sie die folgenden Einstellungen ein:

      1. Geben Sie einen Namen für den Trigger ein.

      2. Wählen Sie das Repository-Ereignis aus, das den Trigger aufrufen soll.

      3. Wählen Sie das Repository aus, das Ihren Quellcode und die Build-Konfigurationsdatei enthält.

      4. Geben Sie den regulären Ausdruck für den Zweig- oder Tag-Namen an, mit dem der Trigger gestartet wird.

      5. Build-Konfiguration: Wählen Sie die Build-Konfigurationsdatei aus, die Sie zuvor erstellt haben.

      6. Klicken Sie unter Substitutionsvariablen auf Variable hinzufügen.

        1. Geben Sie unter Variable die node-Versionsvariable an, die Sie in der Build-Konfigurationsdatei verwendet haben, und unter Wert die Version von node. Zum Beispiel: _NODE_VERSION und 12
    5. Klicken Sie auf Erstellen, um den Build-Trigger zu speichern.

Sie können diese Trigger verwenden, um Ihren Code auf Basis der im Trigger angegebenen Version von node zu erstellen.

Codebeispiele

Im Folgenden finden Sie einige Beispiel-Repositories, die jeweils eine Beispielanwendung Node.js und eine Build-Konfigurationsdatei zum Erstellen und Testen der Anwendung enthalten:

  • node-example-npm: Eine Node.js-Anwendung und eine Beispiel-Build-Konfigurationsdatei, um die Anwendung mit npm zu erstellen
  • node-example-yarn: Eine Node.js-Anwendung und eine Beispiel-Build-Konfigurationsdatei, um die Anwendung mit yarn zu erstellen
  • multiple-node-versions-example: Ein Beispiel mit einer Build-Konfigurationsdatei, um die Anwendung für mehrere Versionen von node zu erstellen

Nächste Schritte