Crie CICD para sua integração


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

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 amostra. Este fluxo de integração de amostra chama uma API e publica a resposta da API em um tópico do Pub/Sub. Este exemplo destina-se a ilustrar o uso das tarefas Chamar endpoint REST e Conectores. É possível armazenar a integração de amostra 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 sua integração:

  • Criar uma integração.
  • Crie variáveis de configuração e as use na sua integração.
  • Promova sua integração a outro ambiente.

Custos

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

As instruções deste tutorial foram projetadas para manter seu uso de 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. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative as APIs Secret Manager API, Connectors API.

    Ative as APIs

  5. Crie uma conta de serviço:

    1. No Console do Google Cloud, acesse a página Criar conta de serviço.

      Acesse "Criar conta de serviço"
    2. Selecione o projeto.
    3. No campo Nome da conta de serviço, insira um nome. O Console do Google Cloud preenche o campo ID da conta de serviço com base nesse nome.

      No campo Descrição da conta de serviço, insira uma descrição. Por exemplo, Service account for quickstart.

    4. Clique em Criar e continuar.
    5. Conceda o papel Pub/Sub Publisher (roles/pubsub.publisher) à conta de serviço do.

      Para conceder o papel, encontre a lista Selecionar um papel e clique em Pub/Sub Publisher (roles/pubsub.publisher).

    6. Clique em Continuar.
    7. Clique em Concluído para terminar a criação da conta de serviço.

  6. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  7. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  8. Ative as APIs Secret Manager API, Connectors API.

    Ative as APIs

  9. Crie uma conta de serviço:

    1. No Console do Google Cloud, acesse a página Criar conta de serviço.

      Acesse "Criar conta de serviço"
    2. Selecione o projeto.
    3. No campo Nome da conta de serviço, insira um nome. O Console do Google Cloud preenche o campo ID da conta de serviço com base nesse nome.

      No campo Descrição da conta de serviço, insira uma descrição. Por exemplo, Service account for quickstart.

    4. Clique em Criar e continuar.
    5. Conceda o papel Pub/Sub Publisher (roles/pubsub.publisher) à conta de serviço do.

      Para conceder o papel, encontre a lista Selecionar um papel e clique em Pub/Sub Publisher (roles/pubsub.publisher).

    6. Clique em Continuar.
    7. Clique em Concluído para terminar a criação da conta de serviço.

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 saber mais 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 Conectores de integração > Conexões e selecione ou crie um projeto do Google Cloud.

    Acesse 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 acessar 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: digite 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, 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 Lista de integrações é exibida.
  3. Clique em Criar integração e forneça 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 regiões provisionadas. Se a região que você quer selecionar não for provisionada, consulte Provisionar uma nova região. Para conferir uma lista de regiões compatíveis, consulte os locais do Application Integration.
    4. Conta de serviço: esse campo é exibido se você ativou a governança na sua região. Selecione a conta de serviço para sua integração. Para saber como ativar a governança na sua região, consulte Editar região.
    5. Clique em Criar. A página do editor de integração será aberta. Nela, é possível adicionar as tarefas e os acionadores para criar a integração.

Criar um fluxo de integração

Adicionar um gatilho 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 da 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 da API ao elemento Chame endpoint REST passando o cursor sobre um ponto de controle no elemento Gatilho da API, depois clicando e arrastando uma linha até 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.

      O 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 informações sobre como fazer o download e o upload de integrações, consulte Fazer o upload e o 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.

      Ela 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 de chamada

Para criar uma variável de configuração, siga estas etapas:
  1. No editor de integração, clique na tarefa Call REST Endpoint para abrir o painel de configuração da tarefa. Em seguida, siga estas etapas:
    1. Expanda a seção Entrada de tarefa.
    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 da 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 e, em seguida, clicando e arrastando uma linha para um ponto de controle no elemento de tarefa Mapeamento de dados.
  3. Para adicionar outra conexão de borda do elemento Mapeamento de dados ao elemento Conectores, passe 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 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.

Promova a integração entre ambientes

Para promover a integração entre ambientes, use a ferramenta integrationcli, que é uma ferramenta de código aberto para interagir com as APIs Application Integration e as APIs Integration Connectors. Essa ferramenta permite gerenciar entidades de integração, como integrações, configurações de autenticação e assim por diante. Para saber mais sobre como gerar o scaffolding para a integração e aplicar as mudanças geradas pelo scaffold, consulte Introdução ao integrationcli no blog da comunidade.

Também é possível promover mudanças em ambientes diferentes 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 integrationcli, faça o download e o upload da integração manualmente para um novo projeto. Você terá que criar os conectores no novo projeto manualmente, já que não é possível fazer o download deles no momento. Quando você publica a integração no novo ambiente, o Application Integration permite inserir valores para as variáveis de configuração.

A seguir