Onboarding Durchführen GitHub Bis DevOps Change-Geschwindigkeit– Arbeitsbereich
Stellen Sie eine Verbindung mit her GitHub Instanz, die das DevOps Change Workspace-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-Geschwindigkeit Thema.
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 GitHub Als Codierungstool wählen Sie aus Codierungstools Kategorie.
Modul „Anwendungen“ - 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 Erstellen Sie eine Anwendung – Arbeitsbereich.
- 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 GitHub Wählen Sie als Codierungstool aus GitHub Unter Code Kategorie.
Tools-Modul - 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 GitHub Als 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 während der Verbindung mit dem Tool erkennen und nachverfolgen möchten, müssen Sie Ihr Tool über das Anwendungsmodul verbinden. -
In Toolname Feld einen Namen für das Tool eingeben.
-
Wählen Sie Weiter.
Die DevOps playbook wird geöffnet, damit Sie die Onboarding-Aufgaben abschließen können.
-
Schließen Sie die Verbindung und Konfiguration mit dem Playbook ab.
-
In Anmeldeinformationstyp Wählen Sie 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 Ihres ein GitHub Instanz.
OAuth 2.0 mit Autorisierungscode Wählen Sie einen vorhandenen Datensatz mit Anmeldeinformationen für OAuth 2,0 mit Autorisierungscode aus, oder erstellen Sie einen Datensatz mit Anmeldeinformationen für OAuth 2,0 mit Autorisierungscode. Weitere Informationen finden Sie unter Erstellen Sie einen Anmeldeinformationsdatensatz für GitHub App-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 mit 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-Geschwindigkeit Playbook-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-Provider 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 GitHub JKS-Zertifikat.
- In Signaturschlüssel Geben Sie den Signaturschlüssel ein, der Ihrem JKS-Zertifikat zugewiesen werden soll. Dies ist das während eingegebene Exportpasswort 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). Die folgende Abbildung zeigt ein Beispiel für den Abschnitt über eine GitHub-App-Konfiguration, von der aus Sie auf die GitHub-App-ID, die Client-ID und den geheimen Client-Schlü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 Clientschlüssel 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 den Speicherort des Tokenendpunkts auswählen, 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 .
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 aus, um Ihre App zu konfigurieren. Die Installations-ID befindet sich in der URL der Webseite. Beispiel: https://github.com/settings/installations/<installation_id>.
Wenn die OAuth-Anmeldeinformationen mit GitHub-Apps – JWT erstellt werden, wird der 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 GitHub OAuth 2,0-Anmeldeinformationen für DevOps Change-Geschwindigkeit.
- Wahlweise:
Geben Sie einen Wert in ein GitHub-App-Slug-Name Feld zum Überprüfen der Berechtigungsanforderungen des Tools, bevor Sie eine Verbindung herstellen, wenn Sie Ihre OAuth 2,0-Anmeldeinformationen mit GitHub-Apps erstellt haben.
Sie finden den Namen des App-Mugs auf der Einstellungsseite Ihrer App.
- Wahlweise:
Wenn Ihr GitHub Instanz ist an angehängt MID-Server, Wählen Sie aus MID-Server Option, und geben Sie die zugehörigen Details ein.
Weitere Informationen zum MID-Server finden Sie unter MID-Server-Auswahl .
Hinweis:Die Typen OAuth-Autorisierungscode und JWT-Gewährungen werden 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 aus Geben Sie die Anmeldeinformationen erneut ein . Detaillierte Informationen zu allen erforderlichen Berechtigungen finden Sie unter GitHub Berechtigungen in Berechtigungen erforderlich für DevOps Tools.
Für OAuth 2,0, wenn Sie nicht eingegeben haben GitHub App-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 DevOps Rollen: Kann das Tool anzeigen.
Hinweis:Wenn Sie keine Gruppe auswählen und diesen Schritt überspringen, alle Anwender mit DevOps Die Rolle des Toolbesitzers 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 DevOps App-Besitzer-Rolle 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 GitHub Instanz, 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 Daten zu Problemen (Arbeitselementen)
Hinweis:Das Abschließen der Konfiguration im Rahmen dieser Aufgabe wird empfohlen, da Echtzeitbenachrichtigungen ideal sind, um aktuelle Informationen zu pflegen, 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 System für alle nachverfolgten 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 aus Konfigurieren .
Um manuell zu konfigurieren, wählen Sie aus Konfigurieren Sie manuell . Weitere Informationen finden Sie unter Konfigurieren Sie Webhooks in GitHub Manuell.
Wichtig:- Wenn Sie über die Homepage oder das Tools-Modul eine Verbindung herstellen, ist die Verbindung abgeschlossen, und Sie gelangen zur Zusammenfassungsseite.
- 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 Pläne aus, die verfolgt werden sollen.
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 zu verfolgenden 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 DevOps Dient zur Identifizierung erfolgreicher Pipeline-Ausführungen als Produktionsbereitstellungen.Service : Wählen Sie aus CMDB Anwendungsservice, 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 aktivieren DevOps Dient 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 Um die Details der verbundenen zu überprüfen GitHub Tool.
Für GitHub Actions Pipelines müssen Sie einige zusätzliche Schritte ausführen, z. B. Geheimnisse erstellen oder die Workflow-Konfiguration in definieren GitHub, Und so weiter. Weitere Informationen finden Sie unter GitHub Actions-Konfigurationen.
Ergebnisse
Sie haben erfolgreich ein Onboarding für durchgeführt GitHub Tool 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 die entsprechenden 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 wird aufgerufen issuesWird erstellt, um Echtzeitbenachrichtigungen für Arbeitselemente zu senden.
- Änderung des Problemtitels
- Aktualisierung der Beauftragten
- ÜbertragungsproblemHinweis:Wenn ein Problem übertragen wird, wird es 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 ein Upgrade-Kunde 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, um alle zuvor konfigurierten Repositorys gleichzeitig neu zu konfigurieren, damit alle Pläne nachverfolgt und der Problem-Webhook für Arbeitselemente erstellt wird.