Git-Übersicht

In diesem Thema lernen Sie die grundlegenden Konzepte der Verwendung von Git kennen, das ein wesentlicher Bestandteil der Delivery System API ist.

Git verwenden: Überblick

Git ist ein wesentlicher Bestandteil des Bereitstellungssystems, und wir ermutigen alle Benutzer, die mit seinen Konzepten noch nicht vertraut sind, mehr darüber zu erfahren die Git-Website. Es gibt auch einige praktische Git-Spickzettel draußen zu verwenden.

Git muss installiert sein, um die Delivery System APIs verwenden zu können. Sie können dies auf der Git-Website tun. Die von uns angegebenen Befehlszeilenbeispiele können jedoch im Allgemeinen nicht direkt verwendet werden, da eine Reihe von Platzhaltern verwendet werden. Ersetzen Sie in der Umgebungsvariablen oder dem Wert für Folgendes: ACCOUNT_ID, REPO_NAME, ACCESS_TOKEN, BENUTZERNAME

Git verwenden: Autorisieren

Im Gegensatz zu den REST-APIs können Sie sich mit Git nur auf eine Weise autorisieren: über die Standardauthentifizierung mit Ihrem Brightcove-Benutzernamen und -Kennwort. Es ist derzeit nicht möglich, OAuth-Zugriffstoken mit Git zu verwenden.

Git sollte Sie zur Eingabe Ihres Benutzernamens und Passworts auffordern, sodass Sie in den folgenden Beispielen keine Erwähnung von Authentifizierung sehen.

Geschenk: Repository erstellen/aktualisieren

Wenn Git installiert und ein über REST erstelltes Repository erstellt wurde, können Sie mit der Erstellung Ihres lokalen Repositorys zur Verwendung beginnen. Ein lokales Repository, das durch einfaches Erstellen eines Verzeichnisses und anschließendes Initialisieren von Git in diesem Verzeichnis mithilfe der git init Befehl.

          mkdir my_repo
          cd my_repo
          git init
          

Wenn das Repository initialisiert ist, möchten Sie es jetzt mit dem Remote-Repository im Brightcove-System verknüpfen, damit Sie Ihre Änderungen problemlos auf den Server übertragen können.

          git remote add origin https://repos.api.brightcove.com/v1/accounts/[ACCOUNT_ID]/repos/[REPO_NAME]
          

Anschließend können Sie nach Belieben Dateien für Ihre lokale Fernbedienung hinzufügen, bearbeiten oder entfernen. Sie können dann normale Git-Befehle verwenden, um das Remote-Repository zu aktualisieren.

          git add -A
          git commit 'Changing stuff'
          git push
          

Git verwenden: Push-Repository

Die Details dazu, wohin die verschiedenen Dateien gepusht werden, finden Sie in der Ausgabe des git push. Sie können die Basis-URL für jedes Repository auch in REST-API-Aufrufen an die Repository-URL finden. Alle Dateien werden auf einem CDN gespeichert, damit sie von allen Benutzern schnell eingesehen werden können.

Wenn Sie Ihren eigenen, vollständig benutzerdefinierten Player erstellen, sollten Sie sich bewusst sein, dass wir nicht garantieren können, dass Aktualisierungen aller Dateien gleichzeitig in einem typischen Client wie einem Browser erfolgen. Daher wird Benutzern der Bereitstellungssystem-APIs dringend empfohlen, eine Versionsverwaltungsstrategie zu verwenden, die sicherstellt, dass eng gekoppelte Dateien nach einer Aktualisierung gemeinsam angefordert werden. Eine Strategie, um dies zu erreichen, besteht darin, Aktualisierungen an einem völlig neuen Speicherort vorzunehmen, anstatt vorhandene Dateien zu überschreiben. Dies erzwingt, dass die angeforderten Dateien die Originalquellen sind, da es in unserem Service keine Möglichkeit gibt, eine zwischengespeicherte Kopie zu haben. Sie sollten jedoch damit rechnen, dass die ersten Anfragen für diese nicht zwischengespeicherten Kopien länger als gewöhnlich dauern. Um es klarzustellen, wenn Sie Spieler mit den Spielerverwaltungs-APIs erstellen und nicht direkt die Bereitstellungssystem-APIs verwenden, müssen Sie sich darüber keine Gedanken machen, da die Cache-Probleme für Sie erledigt werden.

Die Gesamtzeit, bis Sie Aktualisierungen auf Ihrer Live-Site sehen, hängt von einer Reihe von Faktoren ab. Zu diesen Faktoren gehören vor allem das Browser-Caching und die Zeit, die benötigt wird, um eine Löschanforderung von unseren Edge-Knoten abzuschließen. Normalerweise sollte es nicht länger als fünf Minuten dauern, bis Sie das letzte Mal zu einem Repo gepusht haben. Dies liegt daran, dass die von uns bereitgestellten Dateien standardmäßig für fünf Minuten in einem Browser zwischengespeichert werden und das Löschen aller Edge-Knoten im Durchschnitt nur etwa eine Minute dauert. Unter Spitzenlast kann die Spülzeit jedoch viel höher sein – bis zu 10 Minuten. Im schlimmsten Fall dauert es (diese Zeit wird immer noch festgelegt), bis alle Caching-Schichten gelöscht sind und Ihre Updates endlich live gehen. Dies sollte niemals passieren, es sei denn, die Bereinigungsanforderung ist fehlgeschlagen oder hat eine Zeitüberschreitung und unser Fallback-Cache-Handler war erforderlich, um Ihren Inhalt zu aktualisieren.

Anzeigen Ihrer Änderungen

Nachdem Sie Änderungen vorgenommen haben, möchten Sie wahrscheinlich sehen, was Sie getan haben. Sie können dies tun, indem Sie die gitk Befehl. Wenn Sie diesen Befehl in Ihrem direkt initialisierten Git verwenden, erscheint eine GUI, die Ihnen Ihre Arbeit zeigt. Ein einfaches Beispiel sieht wie folgt aus:

Gitk-GUI

Git verwenden: Klon-Repository

Sie können ein Repository, das bereits von Brightcove gespeichert wird, auf Ihr lokales System kopieren. In Git-Begriffen wird dies als Klonen eines Repos bezeichnet. Auf diese Weise können Sie nicht nur ein Repository abrufen, das von einer anderen Person in Ihrer Organisation erstellt wurde, sondern auch die Repositorys abrufen, die von den Spielerverwaltungs-APIs erstellt wurden.

          git clone https://repos.api.brightcove.com/v1/accounts/{account_id}/repos/$REPO_NAME/$ACCESS_TOKEN

Fehlerreaktionen: Git

Die Fehlerantworten für Git-Aufrufe sind auf alles beschränkt, was Ihr Git-Client unterstützen kann:

  • Wenn Sie versuchen, ein Repo anzurufen, das nicht existiert, erhalten Sie normalerweise eine Nachricht über git-upload-pack nicht gefunden: Haben Sie git update-server-info auf dem Server ausgeführt?. Überprüfen Sie, ob die Repository-URL korrekt ist.
  • Wenn Ihr Anruf nicht authentifiziert oder autorisiert werden kann, werden Sie normalerweise nach einem Passwort gefragt. Beenden Sie diese Passwortanfrage und versuchen Sie erneut, den OAuth-Leitfaden durchzugehen, um sicherzustellen, dass Sie über ein gültiges Zugriffstoken verfügen.