IBM Cloud Docs
Creazione di toolchain con Git

Creazione di toolchain con Git

Puoi utilizzare un template che contiene Git Repos and Issue Tracking o l'integrazione dello strumento GitHub come punto di partenza per creare una toolchain a cui puoi aggiungere i repository (repo) Git. In alternativa, puoi iniziare con una toolchain vuota o con una toolchain esistente e quindi aggiungere un'integrazione dello strumento Git Repos and Issue Tracking o GitHub.

Per vedere quali template di toolchain contengono Git Repos and Issue Tracking o le integrazioni dello strumento GitHub, vedi Disponibilità delle toolchain, template ed esercitazioni.

Creazione di una toolchain da un template con Git Repos and Issue Tracking o GitHub utilizzando la console

È possibile usare un modello come punto di partenza per creare una catena di strumenti che includa un'integrazione di strumenti Git Repos and Issue Tracking o GitHub. Per saperne di più su come utilizzare i modelli del MetodoIBM Cloud Garage.

  1. Accedi a IBM Cloud.

  2. Dalla console IBM Cloud, fare clic sull'icona Menu > Automazione piattaforma > Toolchains.

  3. Nel dashboard DevOps, nella pagina Toolchain, fai clic su Create a Toolchain.

  4. Nella pagina Create a Toolchain, fai clic su un template di toolchain.

  5. Esamina il diagramma della toolchain che stai per creare. Il diagramma mostra ogni integrazione dello strumento nella fase del suo ciclo di vita nella toolchain.

  6. Rivedi le informazioni predefinite per la configurazione della toolchain:

    • Il nome della toolchain la identifica in IBM Cloud. Se vuoi utilizzare un nome diverso, modifica il nome della toolchain.
    • La regione in cui creare la toolchain. Se vuoi utilizzare una regione differente, selezionala dall'elenco delle regioni disponibili.
    • Il gruppo di risorse in cui creare la catena di strumenti. Se si desidera utilizzare un gruppo di risorse diverso, selezionarlo dall'elenco dei gruppi di risorse disponibili.
    • Il provider per il tuo repository di origine, come GitHub o GitLab. Se vuoi utilizzare un provider di origine differente, selezionalo dall'elenco dei repository disponibili.
  7. Nella sezione Integrazioni dello strumento, seleziona ogni integrazione dello strumento che desideri configurare per la tua toolchain. Per ulteriori informazioni sulla configurazione delle integrazioni dello strumento, consulta Configurazione delle integrazioni dello strumento.

  8. Fai clic su Crea. Diversi passi vengono eseguiti automaticamente per configurare la tua toolchain. Le integrazioni dello strumento che sono configurate sono diverse a seconda del template di toolchain che hai selezionato. Ad esempio, quando crei una toolchain Microservizi in IBM Cloud Pubblico, deve essere eseguita questa procedura:

    • La toolchain viene creata.
    • Se hai configurato Delivery Pipeline, le pipeline vengono create e attivate.
    • Se hai configurato Sauce Labs, la toolchain viene configurata per aggiungere i lavori di verifica Sauce Labs alle pipeline.
    • Se si è configurato Event Notifications, la catena degli strumenti è impostata per inviare notifiche di eventi al servizio Event Notifications specificato.
    • Se hai configurato PagerDuty, la toolchain viene configurata per inviare notifiche di avviso al servizio PagerDuty che hai specificato.
    • Se hai configurato Slack, la toolchain viene configurata per inviare notifiche sullo stato della distribuzione al canale Slack che hai specificato.
    • Se hai configurato un'integrazione dello strumento del codice sorgente come GitHub, il repository GitHub di esempio viene clonato nel tuo account GitHub.

    È ora possibile distribuire notifiche di eventi utilizzando l'integrazione dello strumento Event Notifications. IBM Cloud Event Notifications è il metodo preferito per distribuire le notifiche a PagerDuty e ad altri canali di comunicazione come Slack, e-mail, SMS, notifiche push, webhook, Microsoft® Teams, ServiceNow, e IBM Cloud Functions. Per ulteriori informazioni sull'utilizzo di Event Notifications, vedi Abilitazione delle notifiche di eventi per le toolchain.

Creazione di una toolchain da un template con Git Repos and Issue Tracking o GitHub con l'API

Puoi creare una toolchain da un template solo utilizzando la console. Per visualizzare i passaggi per utilizzare la console, passa alle istruzioni IU.

Per ulteriori informazioni su come creare una toolchain con la API invece di utilizzare un modello, vedi Aggiunta dell'integrazione dello strumento Git a una toolchain esistente con la API.

Creare una toolchain da un modello con Git Repos and Issue Tracking o GitHub con Terraform

Puoi creare una toolchain da un template solo utilizzando la console. Per visualizzare i passaggi per utilizzare la console, passa alle istruzioni IU.

Per ulteriori informazioni su come creare una toolchain con Terraform invece di utilizzare un modello, vedi Aggiunta dell'integrazione dello strumento Git a una toolchain esistente con Terraform.

Aggiunta dell'integrazione dello strumento Git a una toolchain esistente utilizzando la console

Puoi aggiungere un'integrazione dello strumento Git a qualsiasi toolchain esistente utilizzando la console.

  1. Accedi a IBM Cloud.
  2. Dalla console IBM Cloud, fare clic sull'icona hamburger del menu e selezionare Elenco risorse.
  3. Dall'elenco delle risorse, espandi la sezione Developer tools.
  4. Fai clic su una toolchain a cui vuoi aggiungere un'integrazione dello strumento Git o crea una toolchain. Per informazioni sulla creazione di toolchain, vedi Creazione di toolchain.
  5. Nella pagina Panoramica della toolchain, fare clic su Aggiungi strumento e selezionare GitHub o Git Repos and Issue Tracking per aggiungere una di queste integrazioni alla toolchain.
  6. A seconda dell'integrazione dello strumento Git che selezioni, puoi configurare l'integrazione dello strumento GitHub o puoi configurare l'integrazione dello strumentoGit Repos and Issue Tracking.

Aggiunta dell'integrazione dello strumento Git a una toolchain esistente con l'API

Puoi aggiungere un'integrazione dello strumento Git a qualsiasi toolchain esistente con l'API.

  1. Ottieni un token di connessione IAM. In alternativa, se stai utilizzando un SDK, ottieni una chiave API IAM e imposta le opzioni client utilizzando le variabili di ambiente.

    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
    
  2. Determina la regione e l'ID della toolchain a cui vuoi aggiungere l'integrazione dello strumento Git.

  3. Aggiungi l'integrazione dello strumento Git alla toolchain. Il seguente esempio mostra come aggiungere un'integrazione dello strumento Git che si collega a un repository esistente su github.com. Puoi anche aggiungere un'integrazione dello strumento Git con istruzioni per creare, biforcare o clonare un nuovo repository. È inoltre possibile aggiungere integrazioni di strumenti per altri server GitHub, GitLab, o Bitbucket.

    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();
    

La seguente tabella elenca e descrive ciascuna delle variabili utilizzate nei passi precedenti.

Variabili per aggiungere l'integrazione dello strumento Git con l'API
Variabile Descrizione
{git_org} L'organizzazione in github.com che contiene il repository.
{git_repo} Il repository su github.com da integrare nella toolchain.
{iam_api_key} La chiave API IAM.
{region} La regione in cui risiede la toolchain. Ad esempio, us-south.
{tool_integration_name} Un nome per l'integrazione dello strumento.
{toolchain_id} L'ID della toolchain a cui aggiungere l'integrazione dello strumento.
{token} Un token portatore IAM valido.

Per ulteriori informazioni su ciascuna integrazione dello strumento Git, inclusi ulteriori parametri che puoi configurare, vedi i seguenti argomenti:

Aggiunta dell'integrazione dello strumento Git a una toolchain esistente con Terraform

Puoi aggiungere un'integrazione dello strumento Git a qualsiasi toolchain esistente con Terraform.

  1. Per installare la CLI Terraform e configurare il plug-in del provider IBM Cloud per Terraform, segui l'esercitazione per Introduzione a Terraform su IBM Cloud.

  2. Individua il file Terraform (ad esempio main.tf) che contiene il blocco di risorse per la toolchain a cui vuoi aggiungere l'integrazione dello strumento Git. In questo file, aggiungere la configurazione per creare l'integrazione dello strumento.

    Il seguente esempio crea la toolchain se non esiste e quindi aggiunge un'integrazione dello strumento Git che si collega a un repository esistente su github.com utilizzando la risorsa ibm_cd_toolchain_tool_githubconsolidated. Puoi anche aggiungere un'integrazione dello strumento Git con istruzioni per creare, biforcare o clonare un nuovo repository. È inoltre possibile aggiungere integrazioni di strumenti per altri server GitHub, GitLab, o Bitbucket.

    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
      }
    }
    

    Dove <TOKEN> rappresenta un PAT (Personal Access Token) che appartiene all'account GitHub che concede l'accesso al repository di destinazione.

  3. Inizializza la CLI Terraform.

    terraform init
    
  4. Creare un piano di esecuzione Terraform. Questo piano riepiloga tutte le azioni che devono essere eseguite per aggiungere l'integrazione dello strumento DevOps Insights alla toolchain.

    terraform plan
    
  5. Applicare il piano di esecuzione di Terraform. Terraform prende tutte le azioni richieste per aggiungere l'integrazione dello strumento DevOps Insights alla toolchain.

    terraform apply
    

Per ulteriori informazioni su ciascuna delle risorse di integrazione dello strumento Git, inclusi ulteriori parametri che puoi configurare, consulta i dettagli di riferimento dell'argomento nella documentazione di Terraform Registry:

Per ulteriori informazioni sull'utilizzo di Terraform con Continuous Delivery, vedi Configurazione di Terraform per Continuous Delivery.