Toolchains mit Git erstellen
Sie können eine Vorlage verwenden, die entweder eine Git Repos and Issue Tracking- oder eine GitHub-Toolintegration als Ausgangspunkt für die Erstellung einer Toolchain enthält, der Sie Git-Repositorys (Repos) hinzufügen können. Alternativ können Sie mit einer leeren Toolchain oder einer vorhandenen Toolchain beginnen und dann eine Git Repos and Issue Tracking-oder GitHub-Toolintegration hinzufügen.
Informationen dazu, welche Toolchainvorlagen die Git Repos and Issue Tracking- oder GitHub-Toolintegrationen enthalten, finden Sie in Toolchain-Verfügbarkeit, -Vorlagen und -Lernprogramme.
Toolchain aus einer Vorlage mit Git Repos and Issue Tracking oder GitHub über die Konsole erstellen
Sie können eine Vorlage als Ausgangspunkt verwenden, um eine Toolchain zu erstellen, die entweder eine Git Repos and Issue Tracking oder eine GitHub enthält. Erfahren Sie mehr darüber, wie Sie die Vorlagen der IBM Cloud Garage-Methode verwenden können.
-
Melden Sie sich bei IBM Cloud an.
-
Klicken Sie in der Konsole IBM Cloud auf das
im Menü > Plattformautomatisierung > Toolchains.
-
Klicken Sie im DevOps-Dashboard auf der Seite Toolchains auf Toolchain erstellen.
-
Klicken Sie auf der Seite Toolchain erstellen auf eine Toolchain-Vorlage.
-
Überprüfen Sie das Diagramm der Toolchain, die Sie gerade erstellen. In dem Diagramm wird jede Toolintegration in ihrer aktuellen Lebenszyklusphase in der Toolchain angezeigt.
-
Überprüfen Sie die Standardinformationen für die Toolchain-Einstellungen:
- Der Name der Toolchain macht sie in IBM Cloud identifizierbar. Wenn Sie einen anderen Namen verwenden möchten, ändern Sie den Namen der Toolchain.
- Die Region, in der die Toolchain erstellt wird. Wenn Sie eine andere Region verwenden möchten, wählen Sie eine Region aus der Liste verfügbarer Regionen aus.
- Die Ressourcengruppe, in der die Toolchain erstellt werden soll. Wenn Sie eine andere Ressourcengruppe verwenden möchten, wählen Sie sie aus der Liste der verfügbaren Ressourcengruppen aus.
- Der Provider für Ihr Quellenrepository, z. B. GitHub oder GitLab. Wenn Sie einen anderen Quellenprovider verwenden möchten, wählen Sie ihn aus der Liste verfügbarer Repositorys aus.
-
Wählen Sie im Abschnitt mit den Toolintegrationen jede Toolintegration aus, die Sie für Ihre Toolchain konfigurieren möchten. Weitere Informationen zum Konfigurieren der Toolintegrationen finden Sie unter Toolintegrationen konfigurieren.
-
Klicken Sie auf Erstellen. Zum Einrichten Ihrer Toolchain werden mehrere verschiedene Schritte automatisch ausgeführt. Welche Toolintegrationen eingerichtet werden, hängt von Ihrer Auswahl der Toolchain-Vorlage ab. Wenn Sie eine Microservice-Toolchain unter IBM Cloud Public erstellen, werden zum Beispiel die folgenden Schritte ausgeführt:
- Die Toolchain wird erstellt.
- Wenn Sie Delivery Pipeline konfiguriert haben, werden die Pipelines erstellt und aktiviert.
- Wenn Sie Sauce Labs konfiguriert haben, wird die Toolchain so eingerichtet, dass Sauce Labs-Testjobs zu den Pipelines hinzugefügt werden.
- Wenn Sie Event Notifications konfiguriert haben, ist die Toolchain so eingerichtet, dass sie Ereignisbenachrichtigungen an den von Ihnen angegebenen Dienst Event Notifications sendet.
- Wenn Sie PagerDuty konfiguriert haben, wird die Toolchain so eingerichtet, dass sie Alertbenachrichtigungen an den von Ihnen angegebenen PagerDuty-Service sendet.
- Wenn Sie Slack konfiguriert haben, wird die Toolchain so konfiguriert, dass sie Benachrichtigungen zum Bereitstellungsstatus an den von Ihnen angegebenen Kanal sendet.
- Wenn Sie eine Quellcode-Toolintegration wie GitHub konfiguriert haben, wird das GitHub-Beispielrepository in Ihr GitHub-Konto geklont.
Sie können jetzt Ereignisbenachrichtigungen mit Hilfe der Event Notifications Tool-Integration verteilen. IBM Cloud Event Notifications ist die bevorzugte Methode zur Verteilung von Benachrichtigungen an PagerDuty und andere Kommunikationskanäle wie Slack, E-Mail, SMS, Push-Benachrichtigungen, Webhook, Microsoft® Teams, ServiceNow, und IBM Cloud Functions. Weitere Informationen zur Verwendung von Event Notificationsfinden Sie unter Ereignisbenachrichtigungen für Toolchains aktivieren.
Toolchain aus einer Vorlage mit Git Repos and Issue Tracking oder GitHub mit der API erstellen
Sie können eine Toolchain aus einer Vorlage nur über die Konsole erstellen. Wechseln Sie zur Benutzerschnittstelle, um die Schritte für die Verwendung der Konsole anzuzeigen.
Weitere Informationen zum Erstellen einer Toolchain mit der API anstelle einer Vorlage finden Sie unter Toolintegration für Git zu einer vorhandenen Toolchain mit der API hinzufügen.
Erstellen einer Toolchain aus einer Vorlage mit Git Repos and Issue Tracking oder GitHub mit Terraform
Sie können eine Toolchain aus einer Vorlage nur über die Konsole erstellen. Wechseln Sie zur Benutzerschnittstelle, um die Schritte für die Verwendung der Konsole anzuzeigen.
Weitere Informationen zum Erstellen einer Toolchain mit Terraform anstelle einer Vorlage finden Sie unter Toolintegration für Git zu einer vorhandenen Toolchain mit Terraform hinzufügen.
Git-Toolintegration über die Konsole zu einer vorhandenen Toolchain hinzufügen
Sie können eine Git-Toolintegration mithilfe der Konsole zu einer beliebigen vorhandenen Toolchain hinzufügen.
- Melden Sie sich bei IBM Cloud an.
- Klicken Sie in der Konsole IBM Cloud auf das
im Menü und wählen Sie Ressourcenliste.
- Erweitern Sie in der Ressourcenliste den Abschnitt Entwicklertools.
- Klicken Sie entweder auf eine Toolchain, zu der Sie eine Git-Toolintegration hinzufügen wollen oder erstellen Sie eine Toolchain. Informationen zum Erstellen von Toolchains finden Sie unter Toolchains erstellen.
- Klicken Sie auf der Übersichtsseite der Toolchain auf Tool hinzufügen und wählen Sie dann GitHub oder Git Repos and Issue Tracking, um eine dieser Toolintegrationen zu Ihrer Toolchain hinzuzufügen.
- Je nachdem, welche Git-Toolintegration Sie auswählen, können Sie die GitHub-Toolintegration konfigurieren oder die Git Repos and Issue Tracking-Toolintegration konfigurieren.
Git-Toolintegration zu einer vorhandenen Toolchain mit der API hinzufügen
Sie können eine Git-Toolintegration zu jeder vorhandenen Toolchain mit der API hinzufügen.
-
Rufen Sie ein IAM-Trägertoken ab.. Wenn Sie ein SDK verwenden, rufen Sie einen IAM-API-Schlüssel ab und legen Sie die Clientoptionen mithilfe von Umgebungsvariablen fest.
export CD_TOOLCHAIN_AUTH_TYPE=iam && \ export CD_TOOLCHAIN_APIKEY={iam_api_key} && \ export CD_TOOLCHAIN_URL=https://api.{region}.devops.cloud.ibm.com/toolchain/v2 -
Bestimmen Sie die Region und ID der Toolchain, der Sie die Git-Toolintegration hinzufügen wollen.
-
Fügen Sie die Integration des Git zur Toolchain hinzu. Das folgende Beispiel zeigt, wie eine Git-Toolintegration hinzugefügt wird, die mit einem vorhandenen Repository in github.comverknüpft ist. Sie können auch eine Git-Toolintegration mit Anweisungen zum Erstellen, Aufspalten oder Klonen eines neuen Repositorys hinzufügen. Und Sie können Tool-Integrationen für andere GitHub, GitLab, oder Bitbucket-Server hinzufügen.
curl -X POST \ https://api.{region}.devops.cloud.ibm.com/toolchain/v2/toolchains/{toolchain_id}/tools \ -H 'Authorization: Bearer {token}' \ -H 'Accept: application/json` \ -H 'Content-Type: application/json' \ -d '{ "tool_type_id": "githubconsolidated", "name": "{tool_integration_name}", "parameters": { "type": "link", "git_id": "github", "repo_url": "https://github.com/{git_org}/{git-repo}.git", "has_issues": true } }'const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2'); const toolchainService = CdToolchainV2.newInstance(); ... (async() => { const gitToolModel = { toolchainId: {toolchain_id}, toolTypeId: 'githubconsolidated', name: {tool_integration_name}, parameters: { type: 'link', git_id: 'github', repo_url: 'https://github.com/{git_org}/{git-repo}.git', has_issues: true, } }; const gitTool = await toolchainService.createTool(gitToolModel); })();import ( "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2" ) ... toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{} toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions) createGitToolOptions := toolchainClient.NewCreateToolOptions({toolchain_id}, "githubconsolidated") gitParameters := map[string]interface{}{ "type": "link", "git_id": "github", "repo_url": "https://github.com/{git_org}/{git-repo}.git", "has_issues": true, } createGitToolOptions.SetName({tool_integration_name}) createGitToolOptions.SetParameters(gitParameters) gitTool, response, err := toolchainClient.CreateTool(createGitToolOptions)from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2 ... toolchain_service = CdToolchainV2.new_instance() git_parameters = { "type": "link", "git_id": "github", "repo_url": "https://github.com/{git_org}/{git-repo}.git", "has_issues": True } git_tool = toolchain_service.create_tool( name = {tool_integration_ame}, toolchain_id = {toolchain_id}, tool_type_id = "githubconsolidated", parameters = git_parameters )import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.CdToolchain; import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.model.*; ... CdToolchain toolchainService = CdToolchain.newInstance(); HashMap<String, Object> gitParameters = new HashMap<>(); gitParameters.put("type", "link"); gitParameters.put("git_id", "github"); gitParameters.put("repo_url", "https://github.com/{git_org}/{git-repo}.git"); gitParameters.put("has_issues", true); CreateToolOptions createGitToolOptions = new CreateToolOptions.Builder() .name({tool_integration_name}) .parameters(gitParameters) .toolchainId({toolchain_id}) .toolTypeId("githubconsolidated") .build(); Response<ToolchainToolPost> response = toolchainService.createTool(createGitToolOptions).execute(); ToolchainToolPost gitTool = response.getResult();
In der folgenden Tabelle werden alle Variablen aufgelistet und beschrieben, die in den vorherigen Schritten verwendet wurden.
| Variabel | Beschreibung |
|---|---|
{git_org} |
Die Organisation unter github.com, die das Repository enthält. |
{git_repo} |
Das Repository in github.com für die Integration in die Toolchain. |
{iam_api_key} |
Ihr IAM-API-Schlüssel. |
{region} |
Die Region, in der sich die Toolchain befindet. Beispiel: us-south. |
{tool_integration_name} |
Ein Name für Ihre Toolintegration |
{toolchain_id} |
Die ID der Toolchain, zu der die Toolintegration hinzugefügt wird |
{token} |
Ein gültiges IAM-Inhaber-Token. |
Weitere Informationen zu den einzelnen Git-Toolintegrationen, einschließlich zusätzlicher Parameter, die konfiguriert werden können, finden Sie in den folgenden Abschnitten:
Git-Toolintegration zu einer vorhandenen Toolchain mit Terraform hinzufügen
Sie können eine Git-Toolintegration zu jeder vorhandenen Toolchain mit Terraform hinzufügen.
-
Um das Terraform CLI zu installieren und das IBM Cloud Provider-Plugin für Terraform zu konfigurieren, folgen Sie dem Lernprogramm für Erste Schritte mit Terraform auf IBM Cloud.
-
Suchen Sie die Terraform-Datei (z. B.
main.tf), die den Ressourcenblock für die Toolchain enthält, zu der Sie die Git-Toolintegration hinzufügen wollen. Fügen Sie in dieser Datei die Konfiguration hinzu, um die Toolintegration zu erstellen.Im folgenden Beispiel wird die Toolchain erstellt, wenn sie nicht vorhanden ist, und anschließend eine Git-Toolintegration hinzugefügt, die mithilfe der Ressource
ibm_cd_toolchain_tool_githubconsolidatedmit einem vorhandenen Repository in github.com verknüpft wird. Sie können auch eine Git-Toolintegration mit Anweisungen zum Erstellen, Aufspalten oder Klonen eines neuen Repositorys hinzufügen. Und Sie können Tool-Integrationen für andere GitHub, GitLab, oder Bitbucket-Server hinzufügen.data "ibm_resource_group" "group" { name = "default" } resource "ibm_cd_toolchain" "cd_toolchain" { name = "my toolchain" resource_group_id = data.ibm_resource_group.group.id } resource "ibm_cd_toolchain_tool_githubconsolidated" "my-github-tool-integration" { toolchain_id = ibm_cd_toolchain.cd_toolchain.id initialization { git_id = "github" repo_url = "https://github.com/my-org/my-repo.git" type = "link" auth_type = "pat" api_token = "<TOKEN>" } parameters { has_issues = true } }Dabei steht
<TOKEN>für ein persönliches Zugriffstoken (Personal Access Token, PAT), das zu dem GitHub-Konto gehört, das Zugriff auf das Zielrepository erteilt. -
Terraform-Befehlszeilenschnittstelle initialisieren.
terraform init -
Erstellen Sie einen Terraform-Ausführungsplan. Dieser Plan fasst alle Aktionen zusammen, die ausgeführt werden müssen, um die DevOps Insights-Toolintegration zur Toolchain hinzuzufügen.
terraform plan -
Wenden Sie den Terraform-Ausführungsplan an. Terraform führt alle erforderlichen Aktionen aus, um die Toolintegration für DevOps Insights zur Toolchain hinzuzufügen.
terraform apply
Weitere Informationen zu den einzelnen Git-Toolintegrationsressourcen, einschließlich zusätzlicher Parameter, die Sie konfigurieren können, finden Sie in den Argumentreferenzdetails in der Dokumentation zur Terraform-Registry:
- Bitbucket:
ibm_cd_toolchain_tool_bitbucketgit - GitHub:
ibm_cd_toolchain_tool_githubconsolidated - Git Repos and Issue Tracking: ibm_cd_toolchain_tool_hostedgit
- GitLab:
ibm_cd_toolchain_tool_gitlab
Weitere Informationen zur Verwendung von Terraform mit Continuous Deliveryfinden Sie unter Terraform für Continuous Delivery.