Criando cadeias de ferramentas com o Git

Continuous Delivery será descontinuado nas seguintes regiões em 12 de fevereiro de 2027: au-syd, ca-tor, us-east. O Code Risk Analyzer também será descontinuado em todas as regiões nessa data. Se uma região não apresentar uso ativo desses recursos, os recursos nessa região poderão ser descontinuados mais cedo e deixar de aceitar novas instâncias. Saiba mais

É possível usar um modelo que contenha um Git Repos and Issue Tracking ou uma integração de ferramenta do GitHub como um ponto de início para criar uma cadeia de ferramentas à qual é possível incluir repositórios Git (repositórios). Como alternativa, você pode começar com uma cadeia de ferramentas vazia ou uma cadeia de ferramentas existente e, em seguida, adicionar uma integração de ferramentas Git Repos and Issue Tracking ou GitHub a ela.

Para ver quais modelos de cadeia de ferramentas contêm o Git Repos and Issue Tracking ou as integrações de ferramenta do GitHub, consulte Disponibilidade de cadeia de ferramentas, modelos e tutoriais.

Criando uma cadeia de ferramentas a partir de um template com Git Repos and Issue Tracking ou GitHub usando o console

Você pode usar um modelo como ponto de partida para criar uma cadeia de ferramentas que inclua a integração com a ferramenta Git Repos and Issue Tracking ou GitHub. Saiba mais sobre como usar os modelos do Método Garage da IBM Cloud.

  1. Efetue login na IBM Cloud.

  2. No console IBM Cloud, clique no ícone de hambúrguer Menu > Automação da plataforma > Cadeias de ferramentas.

  3. No painel DevOps, na página Cadeias de ferramentas, clique em Criar uma cadeia de ferramentas.

  4. Na página Criar uma cadeia de ferramentas, clique em um modelo de cadeia de ferramentas.

  5. Revise o diagrama da cadeia de ferramentas que você está prestes a criar. O diagrama mostrará cada integração de ferramenta em sua fase de ciclo de vida na cadeia de ferramentas.

  6. Revise as informações padrão para as configurações da cadeia de ferramentas:

    • O nome da cadeia de ferramentas as identifica em IBM Cloud. Se você desejar usar um nome diferente, mude o nome da cadeia de ferramentas.
    • A região na qual criar a cadeia de ferramentas. Se você desejar usar uma região diferente, selecione-a na lista de regiões disponíveis.
    • O grupo de recursos no qual criar a cadeia de ferramentas. Caso queira utilizar um grupo de recursos diferente, selecione-o na lista de grupos de recursos disponíveis.
    • O provedor para o seu repositório de origem, como o GitHub ou o GitLab. Se quiser usar um provedor de origem diferente, selecione-o na lista de repositórios disponíveis.
  7. Na seção Integrações de ferramentas, selecione cada integração de ferramenta que deseja configurar para sua cadeia de ferramentas. Para obter mais informações sobre como configurar as integrações de ferramentas, consulte Configurando integrações de ferramentas.

  8. Clique em Criar. Várias etapas são executadas automaticamente para configurar sua cadeia de ferramentas. As integrações de ferramentas configuradas variam de acordo com o modelo de cadeia de ferramentas selecionado. Por exemplo, quando você cria uma cadeia de ferramentas de Microsserviços no IBM Cloud Public, estas etapas são executadas:

    • A cadeia de ferramentas é criada.
    • Se você tiver configurado o Delivery Pipeline, os pipelines serão criados e acionados.
    • Se você tiver configurado o Sauce Labs, a cadeia de ferramentas será configurada para incluir tarefas de teste do Sauce Labs nos pipelines.
    • Se você configurou o Event Notifications, a cadeia de ferramentas está configurada para enviar notificações de eventos ao serviço Event Notifications que você especificou.
    • Se tiver configurado o PagerDuty, a cadeia de ferramentas será configurada para enviar notificações de alerta para o serviço PagerDuty especificado.
    • Se tiver configurado o Slack, a cadeia de ferramentas será configurada para enviar notificações sobre o status de implementação para o canal Slack especificado.
    • Se tiver configurado a integração de ferramenta do código-fonte, como o GitHub, o repositório GitHub de amostra será clonado na conta do GitHub.

    Agora você pode distribuir notificações de eventos usando a integração da ferramenta Event NotificationsIBM Cloud Event Notifications é o método preferido para distribuir notificações para PagerDuty e outros canais de comunicação, como Slack, e-mail, SMS, notificações por push, webhook, Microsoft® Teams, ServiceNow, e IBM Cloud Functions. Para obter mais informações sobre o uso do site Event Notifications, consulte Ativação de notificações de eventos para toolchains.

Criando uma cadeia de ferramentas a partir de um template com Git Repos and Issue Tracking ou GitHub com a API

Você pode criar uma cadeia de ferramentas a partir de um template apenas usando o console. Para visualizar as etapas para o uso do console, mude para as instruções UI.

Para obter mais informações sobre como criar uma cadeia de ferramentas com a API em vez de usar um template, consulte Adicionando a integração da ferramenta Git a uma cadeia de ferramentas existente com a API.

Criação de uma cadeia de ferramentas a partir de um modelo com Git Repos and Issue Tracking ou GitHub usando o Terraform

Você pode criar uma cadeia de ferramentas a partir de um template apenas usando o console. Para visualizar as etapas para o uso do console, mude para as instruções UI.

Para obter mais informações sobre como criar uma cadeia de ferramentas com Terraform em vez de usar um template, consulte Adicionando a integração da ferramenta Git a uma cadeia de ferramentas existente com Terraform.

Adicionando a integração da ferramenta Git a uma cadeia de ferramentas existente usando o console

Você pode adicionar uma integração de ferramenta Git em qualquer rede de ferramentas existente usando o console.

  1. Efetue login na IBM Cloud.
  2. No console do IBM Cloud, clique no ícone de menu ( ícone de hambúrguer ) e selecione “Lista de recursos ”.
  3. A partir da lista de Recursos, expanda a seção Ferramentas de desenvolvedor.
  4. Ou clique em uma cadeia de ferramentas para a qual você deseja adicionar uma integração de ferramentas Git ou crie uma cadeia de ferramentas. Para obter informações sobre a criação de cadeias de ferramentas, consulte Criando cadeias de ferramentas.
  5. Na página “Visão geral” da cadeia de ferramentas, clique em “Adicionar ferramenta ” e, em seguida, selecione GitHub ou Git Repos and Issue Tracking para adicionar qualquer uma dessas integrações de ferramentas à sua cadeia de ferramentas.
  6. Dependendo da qual a integração da ferramenta Git você seleciona, você pode configurar a integração da ferramenta GitHub ou você pode configurar o Git Repos and Issue Tracking integração de ferramenta.

Adicionando a integração da ferramenta Git a uma cadeia de ferramentas existente com a API

Você pode adicionar uma integração de ferramenta Git em qualquer cadeia de ferramentas existente com a API.

  1. Obter um token de portador de IAM. Alternativamente, se você estiver usando um SDK, obtenha uma chave API IAM e configure as opções do cliente usando variáveis de 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. Determine a região e o ID da cadeia de ferramentas que deseja adicionar a integração da ferramenta Git para.

  3. Adicione a integração da ferramenta Git à cadeia de ferramentas. O exemplo a seguir mostra como adicionar uma integração de ferramentas Git que se liga a um repo existente em github.com. Você também pode adicionar uma integração de ferramenta Git com instruções para criar, fork ou clone um novo repo. E você pode adicionar integrações de ferramentas para outros servidores GitHub, GitLab, ou 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();
    

A tabela a seguir lista e descreve cada uma das variáveis que são utilizadas nas etapas anteriores.

Variáveis para adicionar a integração da ferramenta Git com a API
Variável Descrição
{git_org} A organização em github.com que contém o repo.
{git_repo} O repo em github.com para se integrar à cadeia de ferramentas.
{iam_api_key} Sua chave de API do IAM.
{region} A região na qual a cadeia de ferramentas está localizada. Por exemplo, us-south.
{tool_integration_name} Um nome para sua integração de ferramentas.
{toolchain_id} O ID da cadeia de ferramentas para a qual adicionar a integração da ferramenta.
{token} Um token de portador IAM válido.

Para obter mais informações sobre cada uma das integrações da ferramenta Git, incluindo parâmetros adicionais que você pode configurar, veja os tópicos a seguir:

Adicionando a integração da ferramenta Git a uma cadeia de ferramentas existente com Terraform

Você pode adicionar uma integração de ferramenta Git em qualquer cadeia de ferramentas existente com Terraform.

  1. Para instalar a CLI do Terraform e configurar o plug-in do IBM Cloud Provider para o Terraform, siga o tutorial de Introdução ao Terraform no IBM Cloud.

  2. Localize o arquivo Terraform (por exemplo, main.tf) que contém o bloco de recursos para a cadeia de ferramentas para a qual deseja adicionar a integração da ferramenta Git. Neste arquivo, inclua a configuração para criar a integração da ferramenta.

    O exemplo a seguir cria a cadeia de ferramentas se ele não existe e, em seguida, adiciona uma integração de ferramenta Git que se liga a um repo existente em github.com usando o recurso ibm_cd_toolchain_tool_githubconsolidated. Você também pode adicionar uma integração de ferramenta Git com instruções para criar, fork ou clone um novo repo. E você pode adicionar integrações de ferramentas para outros servidores GitHub, GitLab, ou 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
      }
    }
    

    Em que <TOKEN> representa um Personal Access Token (PAT) que pertence à conta GitHub que concede acesso ao repositório de destino.

  3. Inicialize a CLI do Terraform.

    terraform init
    
  4. Crie um plano de execução do Terraform. Este plano resume todas as ações que devem ser executadas para adicionar a ferramenta DevOps Insights ferramenta de integração à cadeia de ferramentas.

    terraform plan
    
  5. Aplique o plano de execução do Terraform. O Terraform toma todas as ações necessárias para adicionar a integração da ferramenta DevOps Insights à rede de ferramentas.

    terraform apply
    

Para obter mais informações sobre cada um dos recursos de integração da ferramenta Git, incluindo parâmetros adicionais que você pode configurar, veja os detalhes de referência do argumento na documentação do Registro Terraforme:

Para obter mais informações sobre como usar Terraform com Continuous Delivery, veja Configurando Terraform para Continuous Delivery.