Criar CICD para sua integração


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

Visão geral

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

Objetivos

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

  • Crie uma integração.
  • Crie variáveis de configuração e use-as na integração.
  • Promova sua 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 dos seus recursos dentro dos limites da Oferta de teste e recursos de nuvem gratuitos do Google Cloud.

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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  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 Código do tópico, insira um código 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 Integration Connectors > Página "Conexões" e depois selecione ou crie um projeto do Google Cloud.

    Acessar a página "Conexões"

  2. Clique em + Criar nova 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 está a instância do Pub/Sub.
    6. ID do tópico: insira o nome do seu tópico do Pub/Sub.
    7. Clique em Próxima.
  5. Na seção Autenticação, clique em PRÓXIMA.
  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 Application Integration, é possível 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 Lista de integrações é exibida.
  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 sua integração. Por exemplo, build-cicd.
    2. Descrição:se quiser, insira uma descrição para a integração. Por exemplo, Demo integration created for CICD tutorial.
    3. Região:selecione a região us-central1 na lista de produtos provisionados ou várias regiões. Se a região que você quer selecionar não estiver provisionada, consulte Provisionar uma nova região. Para ver uma lista de regiões com suporte, consulte Locais do 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 na sua região, consulte Editar região.
    5. Clique em Criar. Isso abre a página do editor de integração, na qual é possível adicionar as tasks e os acionadores para criar sua 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 Application Integration.

    Acessar o Application Integration

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

    A página Lista de integrações aparece listando 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 de API para adicionar o gatilho.
  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 Gatilho de API à Elemento Call REST Endpoint: passe o cursor sobre um ponto de controle no elemento API trigger e depois passe o cursor sobre um ponto de controle. clicar e arrastar uma linha para um ponto de controle no elemento de tarefa Call REST Endpoint.

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.

      A Application Integration adiciona o prefixo `CONFIG_ às variáveis de configuração. Se você quiser adicionar a variável de configuração à sua integração usando APIs, use o seguinte formato: `CONFIG_CONFIG_VARIABLE_NAME`. Para mais informações sobre como fazer o download e o upload de integrações, consulte Fazer o download e upload 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 dado:String

Adicionar e configurar o endpoint REST da chamada

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. Expanda a seção Task input.
    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 de tarefas 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 e, em seguida, Clique e arraste uma linha até um ponto de controle no elemento de tarefa Mapeamento de dados.
  3. Adicione outra conexão de borda do elemento Mapeamento de dados à Conectores passando o cursor sobre um ponto de controle no elemento Mapeamento de dados e, em seguida, Clique e arraste uma linha até um ponto de controle no elemento de 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 Chamar endpoint REST 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 Integração de publicação, insira o valor das seguintes variáveis de configuração:
    1. url: digite 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 entre ambientes, use a ferramenta de código aberto integrationcli, que permite interagir com as APIs Application Integration e Integration Connectors. essa ferramenta permite gerenciar entidades de integração, como integrações, configurações de autenticação etc. 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.

Você também pode promover alterações entre ambientes configurando pipelines de DevOps, por exemplo, usando Jenkins, GitLab, Cloud Build e assim por diante. Para mais informações, consulte Integração com o Cloud Build.

Se você não quiser usar integrationcli, faça o download e 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. Quando você publica a integração no novo ambiente, a Application Integration permite inserir valores para as variáveis de configuração.

A seguir