Onboarding Durchführen GitHubBis DevOps Change-Geschwindigkeit– Arbeitsbereich
Stellen Sie eine Verbindung mit her GitHubInstanz, die das DevOps-Change-Arbeitsbereich-Playbook zum Erkennen, Konfigurieren und Importieren von Repositorys, Plänen und Pipelines verwendet.
Vorbereitungen
Schließen Sie die in angegebenen Aufgaben ab Erste Schritte mit DevOps Change-GeschwindigkeitThema.
Erforderliche Rolle: sn_devops.admin oder sn_devops.Tool_owner
Prozedur
-
Navigieren zu Arbeitsbereiche > DevOps – Change-Arbeitsbereich Und verwenden Sie eine der folgenden Optionen, um das Playbook zum Onboarding zu öffnen GitHub.
Option Schritte Homepage - Wählen Sie Aus Verbinden Sie ein Tool .
- Wählen Sie im modalen Dialogfeld „mit einem Tool verbinden“ das Tool aus der entsprechenden Kategorie (Orchestration, Code, Plan oder Softwarequalität) aus. Beispiel: Wenn Sie eine Verbindung zu herstellen möchten GitHubAls Codierungstool wählen Sie aus Codierungstools Kategorie.
Anwendungsmodul - Wählen Sie Aus Anwendungen (
) Aus der primären Navigation.
- Wählen Sie eine vorhandene Anwendung aus, oder erstellen Sie eine. Informationen zum Erstellen einer Anwendung finden Sie unter app-create-workspace.html.
- Wählen Sie im Bereich empfohlene Aktionen die aus Verbinden Sie ein Tool Karte.
- Wählen Sie im modalen Dialogfeld „mit einem Tool verbinden“ das Tool aus der entsprechenden Kategorie aus. Beispiel: Wenn Sie eine Verbindung zu herstellen möchten GitHubWählen Sie als Codierungstool aus GitHubUnter Code Kategorie.
Toolmodul - Wählen Sie Aus Tools (
) Aus der primären Navigation.
- Wählen Sie in der Fähigkeitsliste die entsprechende Kategorie aus. Beispiel: Wenn Sie eine Verbindung zu herstellen möchten GitHubAls Codierungstool wählen Sie aus Codierung Kategorie.
- Wählen Sie Aus Verbinden Sie ein Tool .
- Wählen Sie im modalen Dialogfeld mit einem Tool verbinden die Option aus GitHub.
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. -
In Toolname Geben Sie einen Namen für das Tool ein.
-
Wählen Sie Weiter.
Die DevOpsplaybook wird geöffnet, um Ihnen beim Abschließen der Onboarding-Aufgaben zu helfen.
-
Schließen Sie die Verbindung und Konfiguration mit dem Playbook ab.
-
In Anmeldeinformationstyp Wählen Sie einen der folgenden Anmeldeinformationstypen aus.
- Basisauth.
-
Geben Sie die Anmeldeinformationen ein.
Basisauth. Geben Sie den Anwendernamen und das Passwort/Zugriffstoken von ein GitHubInstanz.
OAuth 2.0 mit Autorisierungscode Wählen Sie einen vorhandenen OAuth 2,0-Datensatz mit Anmeldeinformationen für den Autorisierungscode aus, oder erstellen Sie einen OAuth 2,0-Datensatz mit Anmeldeinformationen für den Autorisierungscode. Weitere Informationen finden Sie unter Erstellen Sie einen Anmeldeinformationsdatensatz für GitHubApp-Anbieter (Autorisierungscode).
Hinweis:Wenn Sie eine Verbindung mit einer GitHub-App herstellen und Probleme bei der Berechtigungsprüfung auftreten, stellen Sie sicher, dass das Präfix für die Client-ID Ihrer GitHub-App in der DevOps-Eigenschaft verfügbar ist: Client-ID-Bezeichner für GitHub-App . Weitere Informationen finden Sie unter Fügen Sie der DevOps-Eigenschaft eine Client-ID hinzu.OAuth 2.0 mit JSON-Web-Token (JWT) Um eine Verbindung über OAuth 2,0 mit einer JWT herzustellen, müssen Sie zuerst Folgendes ausführen:Nachdem Sie die Voraussetzungen erfüllt haben, können Sie mit fortfahren DevOps Change-GeschwindigkeitPlaybook-Aktivität verbinden:- Wählen Sie aus Verwenden Sie einen vorhandenen JWT-Anmeldeinformationsdatensatz Option, 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.
- In JKS-Zertifikat Feld ein vorhandenes JKS-Zertifikat auswählen. 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 GitHubJKS-Zertifikat.
- In Signaturschlüssel Geben Sie den Signaturschlüssel ein, der Ihrem JKS-Zertifikat zugewiesen werden soll. Dies ist das Exportpasswort, das während eingegeben wurde Das JKS-Zertifikat wird generiert .
- In GitHub-App-ID Wählen Sie die App-ID Ihrer GitHub-App aus (verfügbar im Abschnitt über Ihrer GitHub-App-Konfiguration in GitHub). Das folgende Bild zeigt ein Beispiel für den Abschnitt „über“ einer GitHub-App-Konfiguration, von der aus Sie auf die GitHub-App-ID, die Client-ID und den geheimen Clientschlüssel zugreifen können.
- In Client-ID Wählen Sie die Client-ID Ihrer GitHub-App aus (verfügbar im Abschnitt über Ihrer GitHub-App-Konfiguration in GitHub).
- In Geheimer Client Wählen Sie das geheime Clientgeheimnis Ihrer GitHub-App aus (verfügbar im Abschnitt über Ihrer GitHub-App-Konfiguration in GitHub).
- In Token-URL Feld, wählen Sie den Speicherort des Tokenendpunkts 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_Token .
Geben Sie für Enterprise-Version Folgendes ein: https://<HOST_URL>/api/v3/App/Installations/<installation_id>/Access_Token .
Für die Installations-ID wechseln Sie in Ihrer GitHub-App-Konfiguration in GitHub zum Abschnitt App installieren, und wählen Sie das Zahnradsymbol aus, 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, wird Konfigurieren Sie mit der GitHub-App Die Option ist auf der Tooldatensatzseite verfügbar.
Hinweis:Wenn Sie eine Verbindung mit einer GitHub-App herstellen und Probleme bei der Berechtigungsprüfung auftreten, stellen Sie sicher, dass das Präfix für die Client-ID Ihrer GitHub-App in der DevOps-Eigenschaft verfügbar ist: Client-ID-Bezeichner für GitHub-App . Weitere Informationen finden Sie unter Fügen Sie der DevOps-Eigenschaft eine Client-ID hinzu.Weitere Informationen zu OAuth2.0-Anmeldeinformationen finden Sie unter Wird eingerichtet GitHubOAuth 2,0-Anmeldeinformationen für DevOps Change-Geschwindigkeit.
- Wahlweise:
Wenn Sie GitHubInstanz ist an angehängt MID-Server, Wählen Sie aus MID-Server Option und geben Sie die Details ein.
Weitere Informationen zum MID-Server finden Sie unter MID-Serverauswahl .
Hinweis:Der Gewährungstyp „OAuth-Autorisierungscode“ wird für GitHub und GitHub Enterprise mit MID-Server unterstützt. -
Wählen Sie Aus 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 aus Geben Sie die Anmeldeinformationen erneut ein . Detaillierte Informationen zu allen erforderlichen Berechtigungen finden Sie unter GitHubBerechtigungen in Berechtigungen erforderlich für DevOpsTools.
Für OAuth 2,0, wenn Sie nicht eingegeben haben GitHubApp-Slug-Name: Das Tool wird verbunden, ohne die Berechtigungsanforderungen zu überprüfen.
-
Wählen Sie Weiter.
-
In Anmeldeinformationstyp Wählen Sie 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 die Gruppen hinzu, denen Zugriff auf das Tool in gewährt werden muss Verwaltet von Feld.Die Aufgaben, die diese Anwender in den Gruppen ausführen können, hängen von der ihnen zugewiesenen Rolle ab.
- DevOps Toolbesitzer-Rolle: Kann das Tool anzeigen und bearbeiten.
- DevOps App-Besitzerrolle: Kann das Tool anzeigen und Verlaufsdaten zuordnen, erkennen, importieren und Pipeline-Schritte (falls zutreffend) der Objekte des Tools (z. B. Pläne, Repositorys und Pipelines) ändern.
- DevOps Administratorrolle: Kann alle Tools bearbeiten.
- Sonstiges DevOpsRollen: Kann das Tool anzeigen.
Hinweis:Wenn Sie keine Gruppe auswählen und diesen Schritt überspringen, alle Anwender mit DevOpsDie Rolle „Toolbesitzer“ kann das Tool bearbeiten. - Wenn Sie den Zugriff auf das Tool steuern möchten, wird der Alle App-Besitzer können Toolobjekte anzeigen und Anwendungen zuordnen Option wird zur Auswahl verfügbar.
Diese Option aktiviert alle Anwender mit DevOpsApp-Besitzerrolle für den Zugriff auf das Tool. Wenn diese Option ausgewählt ist, können sie Verlaufsdaten anzeigen, zuordnen, erkennen, importieren und Pipeline-Schritte (falls zutreffend) der Objekte des Tools ändern.
- Klicken Sie auf Zuweisen.
- Wenn Sie den Zugriff auf das Tool steuern möchten, fügen Sie die Gruppen hinzu, denen Zugriff auf das Tool in gewährt werden muss Verwaltet von Feld.
-
Konfigurieren Sie Webhooks automatisch in GitHubInstanz, an die Daten gesendet werden sollen DevOps Change-Geschwindigkeit.
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 Problemdaten (Arbeitselement)
Hinweis:Das Abschließen der Konfiguration im Rahmen dieser Aufgabe wird empfohlen, 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 nachverfolgte Repositorys oder Pipelines abzurufen, indem Sie festlegen Enable PollingEigenschaft bis Ja .Wählen Sie die Repositorys aus, für die Sie Webhooks konfigurieren möchten, und wählen Sie sie aus Konfigurieren .
Wichtig:- Wenn Sie über die Startseite oder das Toolmodul eine Verbindung herstellen, ist die Verbindung abgeschlossen, und Sie werden zur Zusammenfassungsseite weitergeleitet.
- Wenn Sie über das Anwendungsmodul eine Verbindung herstellen, werden verfügbare Repositorys und Pipelines erkannt. Sie können Verlaufsdaten nachverfolgen und daraus importieren.
-
Wählen Sie die nachzuverfolgenden Pläne aus.
Wählen Sie die Pläne aus, für die Sie Aktualisierungen nachverfolgen und der Anwendung zuordnen möchten.
Nachdem das Tool-Onboarding abgeschlossen ist, werden nur die Arbeitselemente für diese ausgewählten Pläne automatisch importiert.
Wählen Sie Weiter.
-
Wählen Sie die Repositorys aus, die verfolgt werden sollen.
- 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 aus Übermitteln .
Sie können bis zu 90 Tage Daten importieren. Workflows, die den Repositorys zugeordnet sind, 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 „Services zu Pipeline-Schritten zuweisen“ können Sie für jeden Pipeline-Schritt Folgendes auswählen:
Pipeline-Schritttyp : Wählen Sie einen Schritttyp aus, für den Sie einen Service zuweisen möchten.
Tipp:Geben Sie mindestens an Prod deploySchritttyp für Schritte, der die zu aktivierende Produktionsbereitstellung darstellt DevOpsDient zur Identifizierung erfolgreicher Pipeline-Ausführungen als Produktionsbereitstellungen.Service : Wählen Sie aus CMDBAnwendungsservice, dem der Pipeline-Schritt zugeordnet ist.
Der Anwendungsservice ist ungefähr der Umgebung zugeordnet. Wenn Sie denselben Pipeline-Schritt zur Bereitstellung in verschiedenen Umgebungen verwenden, lassen Sie das Feld leer. Serviceinformationen sind aktiviert DevOpsDient zum Identifizieren und Berichten zu operativen Metriken wie Incidents, Ausfällen usw.
Wählen Sie Weiter.
-
Von Zusammenfassung Seite auswählen Zeigen Sie den Tooldatensatz an Dient zum Überprüfen der Details der verbundenen GitHubTool.
Für GitHub ActionsPipelines müssen Sie einige zusätzliche Schritte ausführen, z. B. das Erstellen von Geheimnissen und das Definieren der Workflow-Konfiguration in GitHub, Und so weiter. Weitere Informationen finden Sie unter GitHub Actions Konfigurationen.
Ergebnisse
Sie haben erfolgreich ein Onboarding von durchgeführt GitHubTool zu DevOps Change-Geschwindigkeit.
Nächste Maßnahme
Sie können Pläne auch manuell erkennen, nachdem 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 aus Erkennen Um Pläne zu erkennen.
- Wählen Sie Konfigurieren. Pläne werden nachverfolgt und ein Webhook aufgerufen issuesWird erstellt, um Echtzeitbenachrichtigungen für Arbeitselemente zu senden.
- Änderung des Problemtitels
- Aktualisierung der Beauftragten
- ÜbertragungsproblemHinweis:Wenn ein Problem übertragen wird, wird dasselbe im Repository, aus dem es übertragen wird, als übertragen markiert und im Repository geöffnet, in das es übertragen wird.
- Problem löschenHinweis:Wenn ein Problem in GitHub gelöscht wird, wird das entsprechende Arbeitselement nicht in ServiceNow gelöscht, aber der Status des Arbeitselements wird als gelöscht markiert.
Wenn Sie Kunde mit einem Upgrade sind, werden Pläne für Ihre Repositorys über die geplante Aufgabe erkannt, um sie regelmäßig zu erkennen, oder durch manuelle Discovery. Nachdem Ihre Pläne erkannt wurden, können Sie aktivieren sn_devops.track.github.issuesEigenschaft zum erneuten Konfigurieren aller zuvor konfigurierten Repositorys auf einmal, damit alle Pläne nachverfolgt und der Problem-Webhook für Arbeitselemente erstellt wird.