Der automatische Bereitstellungsablauf kann genutzt werden, um den Tagging-Server mit nur wenigen Klicks in App Engine bereitzustellen. 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.
Für die manuelle Bereitstellung des Tagging-Servers müssen der Server für das serverseitige Tagging (SST) und einen Vorschauserver separat bereitgestellt werden. Der SST-Cluster ist der Einstiegspunkt für alle Anfragen an den Tagging-Server. Er verarbeitet die Anfragen, wie unter Einführung in das serverseitige Tagging beschrieben. Der Vorschauserver wird für die Vorschau eines Containers benötigt.
Abbildung 1 zeigt eine Darstellung der Dateninteraktion zwischen den Tagging-Servern und dem Vorschauserver.
Abbildung 1: Ein Diagramm des Tagging-Servers und des Vorschauservers
In diesem Leitfaden wird Folgendes beschrieben:
- Sehen Sie sich alle verfügbaren Einstellungen für das Docker-Image an.
- Optional: BigQuery-Anmeldedaten hinzufügen
- Stellen Sie manuell einen Vorschauserver mit dem SST-Docker-Image bereit.
- Stellen Sie einen SST-Cluster mit dem SST-Docker-Image manuell bereit.
- Prüfen Sie, ob der Vorschauserver und der SST-Cluster richtig konfiguriert sind.
- Halten Sie die Tagging-Serverversion nach der Bereitstellung des Servers auf dem neuesten Stand.
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 ansehen
Das Docker-Image des Tagging-Servers kann unter folgender URL gefunden werden:
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Der Tagging-Server und der Vorschauserver verwenden dasselbe Docker-Image mit verschiedenen Flags. In diesem Abschnitt wird beschrieben, wie Sie alle verfügbaren Einstellungen aufrufen, die mit dem Docker-Image verwendet werden können.
Führen Sie mit dem Docker-Befehlszeilentool folgenden Befehl aus, um alle verfügbaren Einstellungen aufzurufen:
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, die zum Zugriff auf diese Ressourcen berechtigt sind.
- Folgen Sie dieser Anleitung, um ein Dienstkonto mit der Rolle BigQuery-Dateneditor für den Zugriff
BigQuery
oder die Rolle Cloud Datastore-Nutzer für denFirestore
-Zugriff zu erstellen und die JSON-Anmeldedaten 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 die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
auf die Anmeldedaten. - Optional können Sie Ihre Google Cloud-Projekt-ID in der Umgebungsvariablen
GOOGLE_CLOUD_PROJECT
angeben, damit das Tagging-Server das Projekt auswählen kann. Server ausführen Mit dem folgenden Befehl wird der Tagging-Server mit den enthaltenen 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 nach System, auf dem der Tagging-Server bereitgestellt wird, gibt es verschiedene Möglichkeiten, die Anmeldedaten bereitzustellen. Kubernetes und Docker Swarm beispielsweise bieten Leitfäden für die Verwaltung von Secrets. Weitere Informationen finden Sie im jeweiligen Systemhandbuch.
Beachte unbedingt die Best Practices, um deine Anmeldedaten zu schützen.
Vorschauserver manuell bereitstellen
Mit dem Vorschauserver können Sie eine Vorschau des Servercontainers aufrufen. Führen Sie das Docker-Image mit den folgenden Umgebungsvariablen aus, die an die Docker-Umgebung übergeben werden, um den Vorschauserver auszuführen.
Erforderliche Einstellungen
CONTAINER_CONFIG
: Der Konfigurationsstring für den Servercontainer. Gehen Sie in Tag Manager zum Servercontainer-Arbeitsbereich und klicken Sie oben rechts auf die Container-ID. Klicken Sie auf Tagging-Server manuell bereitstellen, um den Wert Container Config zu finden.RUN_AS_PREVIEW_SERVER
: Legen Sie dies auftrue
fest, um den Server als Vorschauserver bereitzustellen.
Beispiel für die Verwendung des Docker-Befehlszeilentools
Führen Sie den 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 die Antwort 200 aus einer Anfrage an http://localhost:8080/healthz
sehen können. Verwenden Sie optional die Umgebungsvariable PORT
, um den Port zu ändern.
Best Practices
- Sie müssen genau einen Vorschauserver bereitstellen. Konfigurieren Sie Autoscaling nicht über eine Instanz hinaus.
- Wenn Sie einen Vorschauserver mit Docker eingerichtet haben, konfigurieren Sie eine HTTPS-URL, um auf den Vorschauserver zu verweisen. Dies ist zum Einrichten des SST-Clusters erforderlich.
- Der Load-Balancer oder das CDN müssen ein Zeitlimit von mehr als 20 Sekunden haben. Andernfalls funktioniert der Vorschaumodus nicht richtig.
Serverseitigen Tagging-Cluster 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 jeder Umgebung bereitzustellen, die Docker unterstützt.
Erforderliche Einstellungen
CONTAINER_CONFIG
: Der Konfigurationsstring für den Servercontainer. Gehen Sie in Tag Manager zum Servercontainer-Arbeitsbereich und klicken Sie oben rechts auf die Container-ID. Klicken Sie auf Tagging-Server manuell bereitstellen, um den Wert Container Config zu finden.PREVIEW_SERVER_URL
: Die HTTPS-URL für den Vorschauserver. Diese Einstellung sollte nur für die Bereitstellung des Tagging-Servers festgelegt werden. In diesem Abschnitt finden Sie eine Anleitung zur Einrichtung des Vorschauservers.
Beispiel für die Verwendung des Docker-Befehlszeilentools
Führen Sie den folgenden Befehl aus, um einen einzelnen Tagging-Server lokal bereitzustellen:
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
Sie sollten eine 200-Antwort von einer Anfrage an http://localhost:8080/healthz
sehen.
Verwenden Sie optional die Umgebungsvariable PORT
, um den Port zu ändern.
Best Practices
- Serverseitiges Tagging-Server kann entweder als einzelner Server oder als Cluster bereitgestellt werden. Wir empfehlen, ihn als Cluster bereitzustellen, um die Verfügbarkeit, Skalierbarkeit und Leistung zu verbessern. Bei der Bereitstellung als Cluster muss jede Serverinstanz mit denselben
CONTAINER_CONFIG
- undPREVIEW_SERVER_URL
-Umgebungsvariablen konfiguriert werden. - Achten Sie darauf, dass Ihre SST-Clusterbereitstellung auf eine neue Subdomain auf Ihrer Website verweist, die von der Subdomain, die Ihre Anwendung bereitstellt, getrennt ist. Wenn Ihre Anwendung beispielsweise Web-Traffic unter example.com bereitstellt, verwenden Sie als Tagging-Server eine Subdomain wie analytics.example.com.
- Wenn 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 die Server die neuesten Codeupdates für SST haben. Andernfalls können die neuen SST-Funktionen nicht mehr richtig verwendet werden. Wenn Sie wissen möchten, wann der Server neu gestartet werden muss, richten Sie Aktivitätsprüfungen ein. Dies wird weiter unten erklärt. Alle veröffentlichten Updates des Servercontainers werden auch ohne Neustart angewendet.
- Verwenden Sie den vorhandenen
/healthz
-Endpunkt (z.B.https://analytics.example.com/healthz
) auf Ihren Tagging-Servern, um Aktivitätsprüfungen einzurichten. Eine fehlerhafte Antwort weist darauf hin, dass der Server neu gestartet werden muss. - Der Docker-Container enthält den Standardbefehl „Systemdiagnose“
HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]
, der den Endpunkt/healthz
regelmäßig abfragt. Wenn Sie auf die Docker-Systemdiagnose angewiesen sind, können Sie die Einstellungen anhand der Docker-Anleitung ändern. - Wenn der Vorschauserver und der Tagging-Server denselben Ursprung haben, hosten Sie den Vorschauserver auf einem anderen Pfad als den Tagging-Server. Geben Sie den
PREVIEW_SERVER_URL
mit dem Pfad an. - Die bereitgestellten Server sollten höchstens 1 vCPU haben. Zusätzliche vCPUs werden nicht genutzt und beeinträchtigen das Autoscaling negativ.
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 Server-Container-URL ein und klicken Sie auf Speichern.
Über den Vorschaumodus bestätigen
Sehen Sie sich im Tag Manager-Arbeitsbereich eine Vorschau des Containers an, indem Sie auf Vorschau klicken. Die Vorschauseite wird nun geladen. 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 korrekt eingerichtet.
Wenn Sie einem einzelnen Tagging-Server mehrere Subdomains zugeordnet haben und für jede Subdomain eine Vorschau anzeigen möchten, fügen Sie unter Verwaltung > Containereinstellungen zusätzliche Servercontainer-URLs hinzu. Wenn mehrere URLs angegeben werden, müssen alle URL-Pfade übereinstimmen. Das ist der String der Informationen, der auf den Domainnamen folgt. Sie können sich beispielsweise eine Vorschau für example.com/abc
und example2.com/abc
ansehen, aber nicht für example.com/abc
und example2.com/def
. Wenn mehrere URLs hinzugefügt wurden, wird neben der Schaltfläche Vorschau ein Symbol angezeigt, über das Sie die URL für die Vorschau auswählen können.
Tagging-Server-Version aktualisieren
Das Image gtm-cloud-image enthält Node.js und die Bibliotheken, die für das Funktionieren des Tagging-Servers erforderlich sind. Das Docker-Image wird regelmäßig auf Sicherheitsupdates und neue Funktionen aktualisiert. Wir empfehlen, den Tagging-Server für jede Hauptversion zu aktualisieren (z.B. von Version 1.x.x auf 2.x.x).
So aktualisieren Sie Ihr Docker-Image:
- Rufen Sie die aktuelle Image-Version unter
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
ab. - Stellen Sie Ihren Server mit denselben Einstellungen wie im vorherigen Deployment bereit.
- Aktualisieren Sie den einzelnen Vorschauserver und alle Tagging-Server im Cluster.
- alle alten Server herunterfahren.
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 an einen separaten Tab zu senden.
- Wähle in der Zusammenfassung den Tab Console aus und achte darauf, dass du keine Nachrichten zum Aktualisieren des Tagging-Servers siehst.
In Tag Manager werden Sie unter Umständen aufgefordert, den Tagging-Server bis zu einen Tag nach der Aktualisierung zu aktualisieren. Auf der Vorschauseite wird jedoch eine aktuelle Meldung zur Version des Tagging-Servers angezeigt.