Criar CICD para sua integração


Este tutorial descreve como automatizar a promoção de uma integração entre diferentes ambientes em diferentes projetos do Google Cloud usando variáveis de configuração (pré-lançamento).

Visão geral

Neste tutorial, você vai automatizar as implantações da Application Integration usando a variável de configuração para uma integração de exemplo. Este fluxo de integração de exemplo chama uma API e publica a resposta dela em um tópico do Pub/Sub. Este exemplo tem o objetivo de ilustrar o uso das tarefas Call REST Endpoint e Conectores. É possível armazenar a integração de amostra em repositórios do GitHub que correspondem aos diferentes ambientes e Google Cloud .

Objetivos

Neste tutorial, mostramos como concluir as seguintes tarefas na sua integração:

  • Crie uma integração.
  • Crie variáveis de configuração e use-as na integração.
  • Promover a integração para outro ambiente.

Custos

Neste tutorial, você vai usar os seguintes componentes faturáveis do Google Cloud:

As instruções deste tutorial foram criadas para manter o uso de seus recursos dentro dos limites do Google Cloud oferta de teste e recursos gratuitos da nuvem.

Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Secret Manager API, Connectors API APIs.

    Enable the APIs

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Pub/Sub Publisher (roles/pubsub.publisher) role to the service account.

      To grant the role, find the Select a role list, then select Pub/Sub Publisher (roles/pubsub.publisher).

    6. Click Continue.
    7. Click Done to finish creating the service account.

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Secret Manager API, Connectors API APIs.

    Enable the APIs

  9. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Pub/Sub Publisher (roles/pubsub.publisher) role to the service account.

      To grant the role, find the Select a role list, then select Pub/Sub Publisher (roles/pubsub.publisher).

    6. Click Continue.
    7. Click Done to finish creating the service account.

Criar um tópico do Pub/Sub

  1. No console do Google Cloud , acesse a página Tópicos do Pub/Sub.

    Acesse Tópicos

  2. Selecione Criar tópico.

  3. No campo ID do tópico, insira um ID para o tópico. Para mais informações sobre como nomear tópicos, consulte Diretrizes para nomear um tópico, uma assinatura, um esquema ou um snapshot .

  4. Mantenha a opção Adicionar uma assinatura padrão.

  5. Não selecione as outras opções.

  6. Selecione Criar tópico.

Configurar um conector do Pub/Sub

  1. No console do Google Cloud , acesse a página Integration Connectors > Connections e selecione ou crie um projeto do Google Cloud .

    Acessar a página "Conexões"

  2. Clique em + Criar novo para abrir a página Criar conexão.
  3. Na seção Local, escolha o local da conexão.
    1. Região: selecione um local na lista suspensa.

      Para conferir a lista de todas as regiões com suporte, consulte Locais.

    2. Clique em PRÓXIMA.
  4. Na seção Detalhes da conexão, faça o seguinte:
    1. Conector: selecione Pub/Sub na lista suspensa de conectores disponíveis.
    2. Versão do conector: selecione a versão do conector na lista suspensa de versões disponíveis.
    3. No campo Nome da conexão, insira pub-sub-connector.
    4. Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
    5. ID do projeto:ID do projeto do Google Cloud em que a instância do Pub/Sub reside.
    6. ID do tópico: insira o nome do tópico do Pub/Sub.
    7. Clique em Próxima.
  5. Na seção Autenticação, clique em PRÓXIMO.
  6. Revisão: revise os detalhes de conexão e autenticação.
  7. Clique em Criar.

Criar uma nova integração

Depois de configurar a integração de aplicativos, você pode criar uma nova integração:

  1. No console do Google Cloud, acesse a página Application Integration.

    Acessar o Application Integration

  2. No menu de navegação, clique em Integrações. A página Integrations aparece.
  3. Clique em Criar integração e informe os seguintes detalhes na página Criar integração:
    1. Nome da integração:insira um nome para a integração. Por exemplo, build-cicd.
    2. Descrição:insira uma descrição para a integração, se quiser. Por exemplo, Demo integration created for CICD tutorial.
    3. Região:selecione a região us-central1 na lista de regiões provisionadas. Se a região que você quer selecionar não estiver provisionada, consulte Provisionar uma nova região. Para conferir uma lista de regiões compatíveis, consulte Locais da Application Integration.
    4. Conta de serviço: esse campo aparece se você tiver ativado a governança para sua região. Selecione a conta de serviço para a integração. Para saber como ativar a governança para sua região, consulte Editar região.
    5. Clique em Criar. Isso abre a página do editor de integração, em que você pode adicionar as tarefas e os gatilhos para criar a integração.

Criar um fluxo de integração

Adicionar um acionador de API e um endpoint REST de chamada

Para adicionar um gatilho do gatilho da API, siga estas etapas:
  1. No console do Google Cloud , acesse a página Integração de aplicativos.

    Acessar o Application Integration

  2. No menu de navegação, clique em Integrações.

    A página Lista de integrações aparece com todas as integrações disponíveis no projeto do Google Cloud.

  3. Selecione a integração build-cicd.

    Isso abre a integração na página do editor de integração.

  4. Na barra de navegação do editor de integração, clique em Gatilhos > Gatilho da API para adicionar o acionador.
  5. Na barra de navegação do editor de integração, clique em Tarefas > Chamar endpoint REST para adicionar a tarefa.
  6. Adicione uma conexão de borda do elemento Acionador de API ao elemento Chamar endpoint REST passando o cursor sobre um ponto de controle no elemento Acionador de API. Depois, clique e arraste uma linha para um ponto de controle no elemento de tarefa Chamar endpoint REST.

Criar variáveis de configuração

Para criar variáveis de configuração, siga estas etapas:
  1. Na barra de navegação do editor de integração, clique em (painel "Alternar") para abrir o painel Variáveis.
  2. Clique em +Criar.
  3. Faça o seguinte no painel Criar variável:
    1. Em Nome, insira url.

      Application Integration adiciona o prefixo `CONFIG_ às variáveis de configuração. Se você quiser adicionar a variável de configuração à integração usando APIs, use o seguinte formato para variáveis de configuração: `CONFIG_CONFIG_VARIABLE_NAME`. Para saber como fazer upload e download de integrações, consulte Fazer upload e download de integrações.

    2. Em Tipo de variável, selecione Variável de configuração.
    3. Em Tipo de dados, selecione String.
    4. Clique em Criar.

      A variável de configuração aparece no painel Variáveis.

  4. Repita as etapas 2 e 3 para adicionar a seguinte variável de configuração:
    • Nome: connection_name
    • Tipo de variável:Config Variable
    • Tipo de dados:String

Adicionar e configurar o endpoint REST Chamar

Para criar uma variável de configuração, siga estas etapas:
  1. No editor de integração, clique na tarefa Chamar endpoint REST para abrir o painel de configuração da tarefa. Em seguida, siga estas etapas:
    1. Abra a seção Entrada de tarefas.
    2. No URL de base do endpoint, clique em Variável e adicione $`CONFIG_url`$.

Adicionar e configurar uma tarefa do Connectors

  1. Na barra de navegação do editor de integração, clique em Tarefa > Conectores.
  2. Clique em Configurar conectores.
  3. Na lista Região, selecione a região em que você criou o conector do Pub/Sub.
  4. No campo Conexão, selecione o Conector do Pub/Sub que você criou na etapa anterior.
  5. Na seção Tipo, selecione Ações.
  6. Na seção Definir entidades/ações, em Ações, selecione publishMessage.
  7. Em Valor padrão, adicione o valor padrão para a variável de configuração.
  8. Clique em Criar.
  9. No painel de configuração da tarefa Conectores, expanda a seção Detalhes da conexão para atualizar o seguinte campo:
    1. No campo Nome da conexão, clique em Variável e selecione $`CONFIG_connection_name`$.

Adicionar uma tarefa de mapeamento de dados

  1. Na barra de navegação do editor de integração, clique em Tarefa > Mapeamento de dados.
  2. Adicione uma conexão de borda do elemento Call REST Endpoint ao elemento Mapeamento de dados passando o cursor sobre um ponto de controle no elemento Call REST Endpoint. Depois, clique e arraste uma linha para um ponto de controle no elemento da tarefa Mapeamento de dados.
  3. Adicione outra conexão de borda do elemento Mapeamento de dados ao elemento Conectores passando o cursor sobre um ponto de controle no elemento Mapeamento de dados. Em seguida, clique e arraste uma linha para um ponto de controle no elemento da tarefa Conectores.
  4. No painel de configuração da tarefa de mapeamento de dados, clique em Abrir editor de mapeamento de dados.
  5. Mapeie a variável de saída da tarefa Call REST Endpoint para a variável de entrada da tarefa Conectores.

Publicar a integração

Para publicar a integração, siga estas etapas:
  1. Para publicar a integração, clique em Publicar na barra de ferramentas do editor de integração.

    A caixa de diálogo Publicar integração vai aparecer.

  2. Na caixa de diálogo Publicar integração, insira o valor das seguintes variáveis de configuração:
    1. url: insira o nome do URL do endpoint.
    2. connection_name: insira o nome do conector do Pub/Sub que você criou na etapa anterior.
  3. Clique em Publicar.
  4. Após a publicação da integração, você poderá ver e inspecionar os registros de execução da integração publicada. Para ver os registros, clique em Registros na barra de ferramentas do editor de integração.

Promover a integração entre ambientes

Para promover a integração em vários ambientes, use a ferramenta integrationcli, que é uma ferramenta de código aberto que permite interagir com as APIs de integração de aplicativos e as APIs de conectores de integração. Com essa ferramenta, você pode gerenciar entidades de integração, como integrações, configurações de autenticação e assim por diante. Para saber como gerar o esqueleto para a integração e aplicar as mudanças geradas por ele, consulte Introdução ao integrationcli no blog da comunidade.

Também é possível promover mudanças em vários ambientes configurando pipelines de DevOps, por exemplo, usando o Jenkins, o GitLab, o Cloud Build e assim por diante. Para mais informações, consulte Integração com o Cloud Build.

Se você não quiser usar o integrationcli, faça o download e o upload da integração manualmente para um novo projeto. Você vai precisar criar os conectores no novo projeto manualmente, já que eles não podem ser transferidos por download no momento. Ao publicar a integração no novo ambiente, o Application Integration permite inserir valores para as variáveis de configuração.

A seguir