Onboarding von GitHub auf DevOps Change-Geschwindigkeit – Arbeitsbereich
Stellen Sie über das Playbook „DevOps Change Workspace“ eine Verbindung zu Ihrer Instanz GitHub her, um Repositorys, Pläne und Pipelines zu erkennen, zu konfigurieren und zu importieren.
Vorbereitungen
Führen Sie die im Thema Erste Schritte mit DevOps Change-Geschwindigkeit angegebenen Aufgaben aus.
Erforderliche Rolle: sn_devops.admin oder sn_devops.tool_owner
Prozedur
-
Navigieren zu Arbeitsbereiche > DevOps – Change-Arbeitsbereich und öffnen Sie das Playbook für das Onboarding von GitHubmit einer der folgenden Optionen.
Option Schritte Homepage - Wählen Sie Tool verbinden.
- Wählen Sie im modalen Element Mit einem Tool verbinden das Tool aus der entsprechenden Kategorie aus (Orchestrierung, Code, Plan oder Softwarequalität). Wenn Sie beispielsweise eine Verbindung zu GitHub als Codierungstool herstellen möchten, wählen Sie die Kategorie Codierungstools aus.
Modul „Anwendungen“ - Wählen Sie in der primären Navigation Anwendungen (
).
- Wählen Sie eine vorhandene Anwendung aus, oder erstellen Sie eine. Informationen zum Erstellen einer Anwendung finden Sie unter Anwendung erstellen – Arbeitsbereich.
- Wählen Sie im Bereich Empfohlene Aktionen die Karte Tool verbinden.
- Wählen Sie im modalen Fenster „Mit einem Tool verbinden“ das Tool aus der entsprechenden Kategorie aus. Wenn Sie beispielsweise eine Verbindung zu GitHub als Codierungstool herstellen möchten, wählen Sie GitHub unter der Kategorie Code aus.
Modul Tools - Wählen Sie in der primären Navigation Tools (
).
- Wählen Sie in der Liste Fähigkeit die entsprechende Kategorie aus. Wenn Sie beispielsweise eine Verbindung zu GitHub als Codierungstool herstellen möchten, wählen Sie die Kategorie Codierung aus.
- Wählen Sie Tool verbinden.
- Wählen Sie im modalen Element Verbindung mit einem Tool herstellen die Option GitHubaus.
Wichtig:Wenn Sie Toolobjekte wie Pipelines, Pläne oder Repositorys erkennen und nachverfolgen möchten, während Sie eine Verbindung zum Tool herstellen, müssen Sie Ihr Tool über das Anwendungsmodul verbinden. -
Geben Sie im Feld Toolname einen Namen für das Tool ein.
-
Wählen Sie Weiter.
Das Playbook DevOps wird geöffnet, um Sie bei der Durchführung der Onboarding-Aufgaben zu unterstützen.
-
Schließen Sie die Verbindung und Konfiguration mit dem Playbook ab.
-
Wählen Sie im Feld Anmeldeinformationstyp einen der folgenden Anmeldeinformationstypen aus.
- Basisauth.
- OAuth 2.0 mit Autorisierungscode
- OAuth 2.0 mit JSON-Web-Token (JWT)
-
Geben Sie die Anmeldeinformationen ein.
Basisauth. Geben Sie den Anwendernamen und das Passwort/Zugriffstoken Ihrer GitHub -Instanz ein.
OAuth 2.0 mit Autorisierungscode Wählen Sie einen vorhandenen Anmeldeinformationsdatensatz für OAuth 2.0 mit Autorisierungscode aus, oder erstellen Sie einen Anmeldeinformationsdatensatz für OAuth 2.0 mit Autorisierungscode. Weitere Informationen finden Sie unter Anmeldeinformationsdatensatz für App-Anbieter GitHub erstellen (Autorisierungscode).
Hinweis:Wenn Sie eine GitHub-App verwenden und Probleme bei der Berechtigungsprüfung auftreten, stellen Sie sicher, dass das Client-ID-Präfix Ihrer GitHub-App in der DevOps-Eigenschaft verfügbar ist: Client-ID-Bezeichner für GitHub-App. Weitere Informationen finden Sie unter Client-ID zur Eigenschaft „DevOps“ hinzufügen.OAuth 2.0 mit JSON-Web-Token (JWT) Um eine Verbindung über OAuth 2.0 mit einem JWT herzustellen, müssen Sie zuerst Folgendes ausführen:Nachdem Sie die Voraussetzungen erfüllt haben, können Sie mit der Aktivität DevOps Change-Geschwindigkeit Playbook verbinden fortfahren:- Wählen Sie die Option Vorhandenen JWT-Anmeldeinformationsdatensatz verwenden aus, wenn Sie einen bereits vorhandenen JWT-Anmeldeinformationsdatensatz verwenden möchten. Wenn diese Option nicht ausgewählt ist, werden die Felder zum Erstellen eines neuen JWT-Anmeldeinformationsdatensatzes angezeigt. Fahren Sie mit dem nächsten Schritt fort.
- Wählen Sie im Feld JKS-Zertifikat ein vorhandenes JKS-Zertifikat aus. Dies ist der Name, den Sie eingegeben haben, um den JWT-Anbieter eindeutig zu identifizieren. JKS-Zertifikate werden mit Shell-Befehlen erstellt, um einen sys_certificate-Datensatz zu erstellen.
Weitere Informationen finden Sie unter Erstellen Sie einen JWT-Signaturschlüssel für das JKS-Zertifikat GitHub ..
- Geben Sie im Feld Signaturschlüssel den Signaturschlüssel ein, der Ihrem JKS-Zertifikat zugewiesen werden soll. Dies ist das Exportpasswort, das beim Generieren des JKS-Zertifikatseingegeben wurde.
- Wählen Sie im Feld GitHub-App-ID die App-ID Ihrer GitHub-App aus (verfügbar im Abschnitt „Info“ Ihrer GitHub-App-Konfiguration in GitHub). Die folgende Abbildung zeigt ein Beispiel für den Abschnitt „Info“ einer GitHub-App-Konfiguration, über den Sie auf die GitHub-App-ID, Client-ID und den geheimen Clientschlüssel zugreifen können.
- Wählen Sie im Feld Client-ID die Client-ID Ihrer GitHub-App aus (verfügbar im Abschnitt „Info“ Ihrer GitHub-App-Konfiguration in GitHub).
- Wählen Sie im Feld Geheimer Clientschlüssel den geheimen Clientschlüssel Ihrer GitHub-App aus (verfügbar im Abschnitt „Info“ Ihrer GitHub-App-Konfiguration in GitHub).
- Wählen Sie im Feld Token-URL den Speicherort des Token-Endpunkts aus, den die Instanz zum Abrufen und Aktualisieren von Token verwendet.
Geben Sie für die Cloud-Version Folgendes ein: https://api.github.com/app/installations/<installation_id> /access_tokens
Geben Sie für die Enterprise-Version Folgendes ein: https://<HOST_URL> /api/v3/app/installations/<installation_id> /access_tokens
Um die Installations-ID zu erhalten, wechseln Sie in Ihrer GitHub-App-Konfiguration in GitHub zum Abschnitt „App installieren“, und wählen Sie das Zahnradsymbol, um Ihre App zu konfigurieren. Die Installations-ID befindet sich in der Webseiten-URL. Beispiel: https://github.com/settings/installations/<installation_id> .
Wenn die OAuth-Anmeldeinformationen mit „GitHub-Apps – JWT“ erstellt werden, ist die Option „Mit GitHub-App konfigurieren“ auf der Seite des Tooldatensatzes verfügbar.
Hinweis:Wenn Sie eine GitHub-App verwenden und Probleme bei der Berechtigungsprüfung auftreten, stellen Sie sicher, dass das Client-ID-Präfix Ihrer GitHub-App in der DevOps-Eigenschaft verfügbar ist: Client-ID-Bezeichner für GitHub-App. Weitere Informationen finden Sie unter Client-ID zur Eigenschaft „DevOps“ hinzufügen.Weitere Informationen zu OAuth2.0-Anmeldeinformationen finden Sie unter GitHub OAuth 2.0-Anmeldeinformationen für DevOps Change-Geschwindigkeiteinrichten.
- Wahlweise:
Geben Sie einen Wert in das Feld Datenfeldname der GitHub-App ein, um die Berechtigungsanforderungen des Tools vor dem Herstellen einer Verbindung zu überprüfen, wenn Sie Ihre OAuth 2.0-Anmeldeinformationen mit GitHub-Apps erstellt haben.
Sie finden den Datenfeldnamen der App auf der Einstellungsseite Ihrer App.
- Wahlweise:
Wenn Ihre Instanz GitHub an ein MID-Serverangehängt ist, wählen Sie die Option MID-Server, und geben Sie die zugehörigen Details ein.
Weitere Informationen zum MID-Server finden Sie unter MID-Server-Auswahl.
Hinweis:Der Gewährungstyp „OAuth-Autorisierungscode“ wird für GitHub und GitHub Enterprise mit MID-Server unterstützt. -
Wählen Sie Verbinden.
-
Berechtigungsprüfungen werden für die von Ihnen eingegebenen Anmeldeinformationen ausgeführt.
Erforderliche Berechtigungen und verfügbare Berechtigungen werden angezeigt. Wenn Sie Anmeldeinformationen mit besseren Berechtigungen eingeben möchten, wählen Sie Anmeldeinformationen erneut eingeben aus. Ausführliche Informationen zu allen erforderlichen Berechtigungen finden Sie unter Berechtigungen für GitHub in Für DevOps Tools sind Berechtigungen erforderlich.
Wenn Sie bei OAuth 2.0 den Datenfeldnamen der App GitHub nicht eingegeben haben, wird das Tool verbunden, ohne die Berechtigungsanforderungen zu überprüfen.
-
Wählen Sie Weiter.
-
Wählen Sie im Feld Anmeldeinformationstyp einen der folgenden Anmeldeinformationstypen aus.
-
Geben Sie den Zugriff für das Tool an.
- Wenn Sie den Zugriff auf das Tool steuern möchten, fügen Sie im Feld Verwaltet von die Gruppen hinzu, die Zugriff auf das Tool erhalten müssen.Die Aufgaben, die diese Benutzer in den Gruppen ausführen können, hängt von der ihnen zugewiesenen Rolle ab.
- DevOps Rolle Tool-Besitzer: Kann das Tool anzeigen und bearbeiten.
- DevOps Rolle App-Besitzer: Kann das Tool anzeigen und Verlaufsdaten zuordnen, erkennen, importieren und Pipelineschritte (falls zutreffend) der Objekte des Tools (z. B. Pläne, Repositorys und Pipelines) ändern.
- DevOps Administratorrolle: Kann alle Tools bearbeiten.
- Andere DevOps -Rollen: Können das Tool anzeigen.
Hinweis:Wenn Sie keine Gruppe auswählen und diesen Schritt überspringen, können alle Anwender mit der Rolle DevOps Toolbesitzer das Tool bearbeiten. - Wenn Sie den Zugriff auf das Tool steuern möchten, wird die Option Alle App-Besitzer können Toolobjekte anzeigen und Anwendungen zuordnen zur Auswahl.
Mit dieser Option können alle Anwender mit der Rolle DevOps „ App-Besitzer auf das Tool zugreifen. Wenn diese Option ausgewählt ist, können sie Verlaufsdaten anzeigen, zuordnen, erkennen, importieren und Pipelineschritte (falls zutreffend) der Objekte des Tools ändern.
- Klicken Sie auf Zuweisen.
- Wenn Sie den Zugriff auf das Tool steuern möchten, fügen Sie im Feld Verwaltet von die Gruppen hinzu, die Zugriff auf das Tool erhalten müssen.
-
Konfigurieren Sie Webhooks automatisch in Ihrer Instanz GitHub, um Daten an DevOps Change-Geschwindigkeitzu senden.
Mit dieser Aktion werden die folgenden Webhooks konfiguriert:
- push: Zum Sammeln von Repository-Commits, Verzweigungen und Tags
- workflow_job: Zum Sammeln von Pipeline-Daten
- issues: zum Sammeln von Daten zu Problemen (Arbeitselementen).
Hinweis:Es wird empfohlen, die Konfiguration im Rahmen dieser Aufgabe abzuschließen, da Echtzeitbenachrichtigungen ideal sind, um aktuelle Informationen zu erhalten, insbesondere für die Automatisierung von Change-Anforderungen. Andernfalls können Sie den Webhook einrichten, indem Sie ihn später manuell konfigurieren, indem Sie die nächtliche Abfrage aktivieren, um das Datensystem für alle nachverfolgten Repositorys oder Pipelines abzurufen, indem Sie die Eigenschaft Enable Polling auf Jafestlegen.Wählen Sie die Repositorys aus, für die Sie Webhooks konfigurieren möchten, und wählen Sie Konfigurierenaus.
Wählen Sie Manuell konfigurieren aus, um manuell zu konfigurieren. Weitere Informationen finden Sie unter Konfigurieren Sie Webhooks manuell in GitHub..
Wichtig:- Wenn Sie über die Startseite oder das Modul Tools eine Verbindung herstellen, wird die Verbindung hergestellt, und Sie gelangen zur Seite „Zusammenfassung“.
- Wenn Sie über das Anwendungsmodul eine Verbindung herstellen, werden die verfügbaren Repositorys und Pipelines erkannt. Sie können Verlaufsdaten daraus verfolgen und importieren.
-
Wählen Sie die nachzuverfolgenden Pläne aus.
Wählen Sie die Pläne aus, für die Sie Updates nachverfolgen und der -Anwendung zuordnen möchten.
Nach Abschluss des Tool-Onboardings werden nur die Arbeitselemente für diese ausgewählten Pläne automatisch importiert.
Wählen Sie Weiter.
-
Wählen Sie die nachzuverfolgenden Repositorys aus.
- Wählen Sie die Repositorys aus, für die Sie Updates nachverfolgen und der Anwendung zuordnen möchten.
Wählen Sie Weiter.
Wenn Sie Repository-Daten importieren möchten, wählen Sie den Datumsbereich aus, und wählen Sie Absenden aus.
Sie können Daten von bis zu 90 Tagen importieren. Den Repositorys zugeordnete Workflows werden ebenfalls importiert.
-
Wählen Sie die nachzuverfolgenden Pipelines aus.
Wählen Sie die Pipelines aus, für die Sie Updates nachverfolgen und der Anwendung zuordnen möchten.
Wählen Sie Weiter.
- Für jede ausgewählte Pipeline werden alle Schritte oder Phasen für die letzte erfolgreiche Ausführung importiert. In der Aktivität Pipeline-Schritte Services zuweisen können Sie für jeden Pipeline-Schritt Folgendes auswählen:
Pipeline-Schritttyp: Wählen Sie einen Schritttyp aus, dem Sie einen Service zuweisen möchten.
Tipp:Geben Sie mindestens den Schritttyp Prod deploy für Schritte an, der die Produktionsbereitstellung darstellt, damit DevOps erfolgreiche Pipeline-Ausführungen als Produktionsbereitstellungen identifizieren kann.Service: Wählen Sie den Anwendungsservice CMDB aus, dem der Pipeline-Schritt zugeordnet ist.
Anwendungsservice-Zuordnungen ungefähr zur Umgebung. Wenn Sie denselben Pipeline-Schritt für die Bereitstellung in verschiedenen Umgebungen verwenden, lassen Sie das Feld leer. Mithilfe von Serviceinformationen kann DevOps operative Metriken wie Incidents, Ausfälle usw. identifizieren und entsprechende Berichte erstellen.
Wählen Sie Weiter.
-
Wählen Sie auf der Seite „Zusammenfassung “ die Option Tooldatensatz anzeigen aus, um die Details des verbundenen Tools GitHub zu überprüfen.
Für GitHub Actions -Pipelines müssen Sie einige zusätzliche Schritte ausführen, z. B. das Erstellen von Geheimnissen, das Definieren der Workflow-Konfiguration in GitHubusw. Weitere Informationen finden Sie unter GitHub Actions-Konfigurationen.
Ergebnisse
Sie haben das Onboarding des Tools GitHub erfolgreich in DevOps Change-Geschwindigkeitdurchgeführt.
Nächste Maßnahme
Sie können Pläne manuell erkennen, nachdem auch Ihr GitHub-Tool integriert wurde. Da in GitHub keine Planentität vorhanden ist, werden die Repositorys berücksichtigt, um entsprechende Plandatensätze in ServiceNow zu erkennen.
- Wählen Sie auf der Tooldatensatzseite die Option Erkennen aus, um Pläne zu erkennen.
- Wählen Sie Konfigurieren. Pläne werden nachverfolgt, und ein Webhook namens issues wird erstellt, um Echtzeitbenachrichtigungen für Arbeitselemente zu senden.
- Änderung des Problemtitels
- Aktualisierung der Beauftragten
- ÜbertragungsproblemHinweis:Wenn ein Problem übertragen wird, wird es in dem Repository, aus dem es übertragen wird, als übertragen markiert und in dem Repository geöffnet, in das es übertragen wird.
- Löschen Sie das ProblemHinweis:Wenn ein Problem in GitHub gelöscht wird, wird das entsprechende Arbeitselement in ServiceNow nicht gelöscht, aber der Status des Arbeitselements wird als „Gelöscht“ markiert.
Wenn Sie ein Kunde sind, der ein Upgrade durchführt, werden Pläne für Ihre Repositorys über die geplante Aufgabe zur regelmäßigen Erkennung oder durch manuelle Erkennung erkannt. Nachdem Ihre Pläne erkannt wurden, können Sie die Eigenschaft sn_devops.track.github.issues aktivieren, um alle zuvor konfigurierten Repositorys gleichzeitig neu zu konfigurieren, sodass alle Pläne nachverfolgt werden und der Webhook für Probleme für Arbeitselemente erstellt wird.