Über den automatischen Bereitstellungsablauf kann der Tagging-Server mit nur wenigen Klicks in Cloud Run bereitgestellt werden. Wenn Sie den Tagging-Server in anderen Umgebungen bereitstellen möchten, können Sie dies manuell tun. Der Tagging-Server ist ein Node.js-Server in einem Docker-Image.
Wenn Sie den Tagging-Server manuell bereitstellen, müssen Sie den Cluster für die serverseitige Tag-Kennzeichnung und einen Vorschauserver separat bereitstellen. Der SST-Cluster ist der Einstiegspunkt für alle Anfragen an den Tagging-Server und verarbeitet Anfragen wie in der Einführung in das serverseitige Tagging beschrieben. Der Vorschauserver ist für die Vorschau eines Containers erforderlich.
Abbildung 1 zeigt die Dateninteraktion zwischen den Tagging-Servern und dem Vorschauserver.
Abbildung 1: Diagramm des Datenflusses zwischen Tagging-Servern und Vorschauservern
In diesem Leitfaden wird Folgendes beschrieben:
- Rufen Sie alle verfügbaren Einstellungen für das Docker-Image auf.
- Optional: BigQuery-Anmeldedaten angeben
- Einen Preview-Server manuell mit dem SST-Docker-Image bereitstellen
- Einen SST-Cluster manuell mit dem SST-Docker-Image bereitstellen
- Prüfen Sie, ob der Vorschauserver und der SST-Cluster richtig konfiguriert sind.
- Aktualisieren Sie die Version des Tagging-Servers nach der Bereitstellung.
Damit Sie die Docker-Befehle in dieser Anleitung ausführen können, müssen Sie zuerst Docker auf Ihrem Computer installieren.
Alle verfügbaren Einstellungen für das Docker-Image aufrufen
Das Docker-Image für den Tagging-Server finden Sie unter dieser URL:
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Der Tagging-Server und der Vorschauserver verwenden dasselbe Docker-Image mit unterschiedlichen Flags. In diesem Abschnitt erfahren Sie, wie Sie alle verfügbaren Einstellungen für das Docker-Image abrufen.
Wenn Sie alle verfügbaren Einstellungen sehen möchten, führen Sie den folgenden Befehl mit dem Docker-Befehlszeilentool aus:
docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help
Optional: Google Cloud-Anmeldedaten angeben
Wenn Sie die BigQuery
- oder Firestore
-API außerhalb von Google Cloud verwenden möchten, müssen Sie Anmeldedaten für ein Dienstkonto angeben, das für den Zugriff auf diese Ressourcen autorisiert ist.
- Folgen Sie dieser Anleitung, um ein Dienstkonto mit der Rolle BigQuery-Dateneditor für den Zugriff auf
BigQuery
oder der Rolle Cloud Datastore-Nutzer für den Zugriff aufFirestore
zu erstellen und die JSON-Anmeldeinformationen mit dem Dateinamenlocal_service_account_key.json
zu exportieren. - Stellen Sie die JSON-Anmeldedaten in einem Volume bereit, auf das das Image zugreifen kann. Mit
docker run
können Sie-v local_service_account_key.json:/app/service_account_key.json
angeben, um die Anmeldedaten im Image bereitzustellen. - Verweisen Sie mit der Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
auf die Anmeldedaten. - Optional können Sie in der Umgebungsvariablen
GOOGLE_CLOUD_PROJECT
Ihre Google Cloud-Projekt-ID angeben, damit der Tagging-Server das Projekt implizit auswählt. Server ausführen Mit dem folgenden Befehl wird der Tagging-Server mit den Anmeldedaten ausgeführt:
docker run -v local_service_account_key.json:/app/service_account_key.json \ -p 8080:8080 \ -e GOOGLE_APPLICATION_CREDENTIALS='/app/service_account_key.json' \ -e GOOGLE_CLOUD_PROJECT='<your project id>' \ -e CONTAINER_CONFIG='<config string>' \ gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Je nachdem, auf welchem System der Tagging-Server bereitgestellt wird, gibt es möglicherweise verschiedene Möglichkeiten, die Anmeldedaten bereitzustellen. Anleitungen zum Verwalten von Secrets finden Sie beispielsweise in Kubernetes und Docker Swarm. Weitere Informationen finden Sie in der Anleitung für Ihr jeweiliges System.
Halten Sie sich dabei an die Best Practices, um Ihre Anmeldedaten zu schützen.
Vorschauserver manuell bereitstellen
Auf dem Vorschauserver können Sie sich eine Vorschau des Servercontainers ansehen. Führen Sie zum Ausführen des Vorschauservers das Docker-Image mit den folgenden Umgebungsvariablen aus, die an die Docker-Umgebung übergeben werden.
Erforderliche Einstellungen
CONTAINER_CONFIG
: Der Konfigurationsstring für den Servercontainer. Rufen Sie in Tag Manager Ihren Servercontainer-Arbeitsbereich auf und klicken Sie rechts oben auf der Seite auf die Container-ID. Klicken Sie auf Tagging-Server manuell bereitstellen, um den Wert für Container-Konfiguration zu sehen.RUN_AS_PREVIEW_SERVER
: Legen Sie dafürtrue
fest, um den Server als Vorschauserver bereitzustellen.
Beispiel für die Verwendung des Docker-Befehlszeilentools
Führen Sie folgenden Befehl aus, um einen Vorschauserver lokal bereitzustellen:
docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e RUN_AS_PREVIEW_SERVER=true gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Sie sollten eine Antwort vom Typ „200“ von einer Anfrage an http://localhost:8080/healthz
sehen. Optional können Sie die Umgebungsvariable PORT
verwenden, um den Port zu ändern.
Best Practices
- Sie müssen genau einen Vorschauserver bereitstellen. Konfigurieren Sie das Autoscaling nicht für mehr als eine Instanz.
- Nachdem Sie einen Vorschauserver mit Docker eingerichtet haben, konfigurieren Sie eine HTTPS-URL, die auf den Vorschauserver verweist. Dies ist zum Einrichten des SST-Clusters erforderlich.
- Der Zeitüberschreitung Ihres Load Balancers oder CDNs muss länger als 20 Sekunden sein, da der Vorschaumodus sonst nicht richtig funktioniert.
Cluster für serverseitiges Tagging manuell bereitstellen
Der SST-Cluster dient als Einstiegspunkt, leitet Vorschauanfragen an den Vorschauserver weiter und verarbeitet alle anderen Anfragen, wie unter Einführung in das serverseitige Tagging beschrieben. Verwenden Sie die folgenden erforderlichen Einstellungen mit dem Docker-Image des Tagging-Servers, um einen SST-Cluster in einer beliebigen Umgebung bereitzustellen, die Docker unterstützt.
Erforderliche Einstellungen
CONTAINER_CONFIG
: Der Konfigurationsstring für den Servercontainer. Rufen Sie in Tag Manager Ihren Servercontainer-Arbeitsbereich auf und klicken Sie rechts oben auf der Seite auf die Container-ID. Klicken Sie auf Tagging-Server manuell bereitstellen, um den Wert für Container-Konfiguration zu sehen.PREVIEW_SERVER_URL
: Die HTTPS-URL für den Vorschauserver. Diese Einstellung sollte nur für die Bereitstellung des Tagging-Servers festgelegt werden. Sie ist für die Bereitstellung des Vorschauservers nicht erforderlich. Eine Anleitung zum Einrichten des Vorschauservers findest du in diesem Abschnitt.
Beispiel für die Verwendung des Docker-Befehlszeilentools
Wenn Sie einen einzelnen Tagging-Server lokal bereitstellen möchten, führen Sie Folgendes aus:
docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e PREVIEW_SERVER_URL='<HTTPS preview server url>' gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Es sollte eine Antwort 200 von einer Anfrage an http://localhost:8080/healthz
angezeigt werden.
Optional können Sie die Umgebungsvariable PORT
verwenden, um den Port zu ändern.
Best Practices
- Server für serverseitiges Tagging können als einzelner Server oder als Cluster bereitgestellt werden. Wir empfehlen, es als Cluster bereitzustellen, um die Verfügbarkeit, Skalierbarkeit und Leistung zu verbessern. Hinweis: Bei der Bereitstellung als Cluster muss jede Serverinstanz mit denselben
CONTAINER_CONFIG
- undPREVIEW_SERVER_URL
-Umgebungsvariablen konfiguriert werden. - Hosten Sie Ihren Tagging-Server am selben Ursprung (Best Practice) oder als Subdomain Ihrer aktuellen Website. Wenn Ihre Anwendung beispielsweise Webtraffic unter example.com bereitstellt, sollten Sie für den Tagging-Server einen Pfad wie example.com/analytics verwenden. Weitere Informationen zur Konfiguration von benutzerdefinierten Domains
- Nachdem Sie einen SST-Cluster mit Docker eingerichtet haben, konfigurieren Sie eine HTTPS-URL, die auf den SST-Cluster verweist.
- Starten Sie die Server regelmäßig neu, damit sie die neuesten Codeupdates für SST haben. Andernfalls kann die Funktionalität neuer SST-Features inkompatibel sein. Sie können festlegen, dass der Server neu gestartet werden muss, indem Sie Aktivitätsprüfungen einrichten. Weitere Informationen dazu finden Sie weiter unten. Beachten Sie außerdem, dass alle veröffentlichten Updates für Ihren Servercontainer auch ohne Neustart angewendet werden.
- Verwende den vorhandenen
/healthz
-Endpunkt (z.B.https://analytics.example.com/healthz
) auf deinen Tagging-Servern, um Live-Prüfungen einzurichten. Eine fehlerhafte Antwort gibt an, dass der Server neu gestartet werden sollte. - Der Docker-Container enthält den standardmäßigen Systemdiagnosebefehl
HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]
, der den/healthz
-Endpunkt regelmäßig abfragt. Wenn Sie von der Docker-Systemdiagnose abhängig sind, können Sie die Einstellungen gemäß der Docker-Anleitung ändern. - Wenn sich der Vorschauserver und der Tagging-Server am selben Ursprung befinden, hoste den Vorschauserver auf einem anderen Pfad als den Tagging-Server. Geben Sie die
PREVIEW_SERVER_URL
einschließlich des Pfads an. - Die bereitgestellten Server sollten höchstens eine vCPU haben. Zusätzliche vCPUs werden nicht genutzt und wirken sich negativ auf das Autoscaling aus.
Validierung
Servercontainer-URL konfigurieren
Rufen Sie in Tag Manager Ihren Servercontainer auf. Geben Sie unter Verwaltung > Containereinstellungen die URL des Tagging-Servers in das Feld Servercontainer-URL ein und klicken Sie auf Speichern.
Im Vorschaumodus bestätigen
Rufen Sie im Tag Manager-Arbeitsbereich eine Vorschau des Containers auf, indem Sie auf Vorschau klicken. Die Vorschauseite sollte geladen werden. Rufen Sie auf einem anderen Browsertab einen beliebigen Pfad in der Servercontainer-URL auf. Wenn auf der Vorschauseite die gesendete Anfrage angezeigt wird, ist alles richtig eingerichtet.
Wenn Sie einem einzigen Tagging-Server mehrere Subdomains zugeordnet haben und eine Vorschau für jede Subdomain anzeigen lassen möchten, fügen Sie unter Verwaltung > Containereinstellungen zusätzliche Servercontainer-URLs hinzu. Bei mehreren URLs müssen alle URL-Pfade übereinstimmen (der Informationsstring nach dem Domainnamen). Sie können beispielsweise eine Vorschau für example.com/abc
und example2.com/abc
aufrufen, aber nicht für example.com/abc
und example2.com/def
. Wenn Sie mehrere URLs hinzufügen, wird neben der Schaltfläche Vorschau ein Symbol angezeigt, mit dem Sie die URL für die Vorschau auswählen können.
Tagging-Serverversion aktualisieren
Das gtm-cloud-image-Image enthält Node.js und die Bibliotheken, die für die Funktion des Tagging-Servers erforderlich sind. Das Docker-Image wird regelmäßig mit Sicherheitskorrekturen und neuen Funktionen aktualisiert. Wir empfehlen, den Tagging-Server mindestens für jede Hauptversion zu aktualisieren (z.B. ein Upgrade von Version 1.x.x auf 2.x.x).
So aktualisieren Sie Ihr Docker-Image:
- Rufen Sie die aktuelle Imageversion unter
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
ab. - Stellen Sie den Server mit denselben Einstellungen wie bei der vorherigen Bereitstellung bereit.
- Aktualisieren Sie den einzelnen Vorschauserver und alle Tagging-Server im Cluster.
- Fahren Sie alle alten Server herunter.
So prüfen Sie, ob die Aktualisierung erfolgreich war:
- Klicken Sie in Ihrem Servercontainer auf die Schaltfläche Vorschau, um eine neue Debug-Sitzung zu starten und eine Anfrage auf einem separaten Tab zu senden.
- Wählen Sie in der Zusammenfassung den Tab Console aus und prüfen Sie, ob Sie aufgefordert werden, den Tagging-Server zu aktualisieren.
In Tag Manager werden nach der erfolgreichen Aktualisierung möglicherweise noch bis zu einen Tag lang Mitteilungen angezeigt, in denen Sie aufgefordert werden, den Tagging-Server zu aktualisieren. Auf der Vorschauseite wird jedoch eine aktuelle Meldung zur Tagging-Serverversion angezeigt.