Gerenciar pipelines usando o gerenciamento de controle de origem

Nesta página, descrevemos como gerenciar pipelines usando o controle de origem no Cloud Data Fusion por meio de repositórios Git.

Sobre o gerenciamento do controle de origem

Com o Cloud Data Fusion, é possível criar pipelines de maneira visual para integrações de ETL e ELT. Para um melhor gerenciamento de pipelines entre desenvolvimento e produção, o Cloud Data Fusion permite o gerenciamento do controle de origem dos pipelines usando o GitHub e outros sistemas de controle de versões.

O gerenciamento do controle de origem no Cloud Data Fusion permite fazer o seguinte:

  • Integrar cada namespace do Cloud Data Fusion a um sistema de controle de versões.
  • Gerencie os pipelines em um repositório Git central.
  • Revisar e auditar alterações no pipeline.
  • Reverter as alterações no pipeline.
  • Colaborar de maneira efetiva com a equipe garantindo o controle central.
.

Antes de começar

  • O gerenciamento do controle de origem oferece suporte à integração com GitHub, Bitbucket Server, Bitbucket Cloud e repositórios Gitlab.
  • O OAuth do GitHub não é compatível.
  • O gerenciamento do controle de origem só oferece suporte a pipelines em lote.
  • O gerenciamento de controle de origem só oferece suporte a JSONs de design de pipeline para operações de push e pull. As configurações de execução não são compatíveis.
  • O limite de tamanho do repositório vinculado é de 5 GB.
.

Papéis e permissões necessárias

O gerenciamento do controle de origem no Cloud Data Fusion consiste em duas operações principais:

  • Como configurar repositórios de controle de origem
  • Sincronização de pipelines com repositórios Git usando operações de push e pull

Para receber as permissões necessárias para usar o recurso de gerenciamento do controle de origem, peça ao seu administrador para conceder a você qualquer um dos seguintes papéis predefinidos em seu projeto:

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias por meio de outros papéis predefinidos.

Configurar um repositório Git

Para criar um repositório Git no GitHub, siga as instruções descritas em Crie um repositório.

Para mais informações sobre tokens de acesso pessoal no GitHub e outras versões de controle de acesso, consulte as seguintes páginas:

.

Conectar um repositório Git com o Cloud Data Fusion

O Cloud Data Fusion permite configurar e conectar seu repositório Git na guia "Gerenciamento do controle de origem" de cada namespace. Para vincular um namespace com o Git, siga estas etapas:

Console

  1. No Cloud Data Fusion Studio, Clique em Menu.
  2. Clique em Administrador de namespace.
  3. Na página Administrador de namespaces, clique em Gerenciamento de controle de origem. .
  4. Clique em Repositório do link.
  5. Digite os seguintes detalhes:

    • Provider (Provedor): escolha um provedor de serviços Git, como GitHub ou GitLab.
    • URL do repositório: insira o URL em que o repositório pode ser. acessados. Para GitHub, o URL do repositório é https://github.com/HOST/REPO:
    • Default branch (opcional): insira a ramificação inicial do Git. Isso pode ser diferente da ramificação padrão configurada no GitHub. Essa ramificação é usada para sincronizar pipelines, seja qual for a ramificação padrão no GitHub.
    • Prefixo do caminho (opcional): insira um prefixo para o nome do pipeline que seja salvas no repositório Git. Por exemplo, se o nome do pipeline é DataFusionQuickStart e se você especificar o prefixo como namespaceName, o pipeline será salvo como namespaceName/DataFusionQuickStart no repositório Git.
    • Tipo de autenticação: o Cloud Data Fusion permite usar token de acesso personalizado como o tipo de autenticação. Isso é selecionada automaticamente.
    • Nome do token: insira um nome que possa ser associado ao token.
    • Token: insira o token fornecido pelo repositório do GitHub.
    • Nome de usuário (opcional): digite um nome de usuário ou um proprietário para o token.
  6. Clique em Validate (Validar). Aguarde a conexão ser verificada.

  7. Quando a configuração estiver concluída, clique em Save and close para confirmar o configuração do Terraform.

Conecte um repositório Git com o Cloud Data Fusion.

API REST

  1. Crie uma chave secreta no Cloud Data Fusion contendo o token de acesso pessoal.

  2. Execute este comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/securekeys/PASSWORD_SECRET_KEY -X PUT -d '{ "description": "Example Secure Key","data": "PERSONAL_ACCESS_TOKEN"}'
    

    Substitua:

    • NAMESPACE_ID: o ID do namespace.
    • PASSWORD_SECRET_KEY: o nome do secret que contém o token de acesso pessoal.
    • PERSONAL_ACCESS_TOKEN: acesso pessoal token do GitHub.
  3. Execute este comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X PUT -d '{"test": "TEST_ONLY", "config": {"provider": "PROVIDER_TYPE", "link": "REPO_URL", "defaultBranch": "DEFAULT_BRANCH", "pathPrefix": "PATH_TO_DIRECTORY", "auth": {"type": "AUTH_TYPE", "patConfig": {"passwordName": "PASSWORD_SECRET_KEY", "username": "USER_NAME"}}}}'
    

    Substitua:

    • NAMESPACE_ID: o ID do namespace.
    • TEST_ONLY: defina como true se você quiser apenas validam a configuração, não a complementam.
    • PROVIDER_TYPE: o nome do provedor Git, que é GITHUB.
    • REPO_URL: URL do repositório a ser vinculado. Usar um URl https, por exemplo, https://github.com/user/repo.git.
    • DEFAULT_BRANCH: ramificação usada para push e pull. Se omitido, a ramificação padrão configurada no repositório vai ser usada, por exemplo, a ramificação main.
    • PATH_TO_DIRECTORY: caminho para o diretório em repositório em que os arquivos de configuração são armazenados.
    • AUTH_TYPE: o tipo de autenticação. Só há suporte para PAT. Consulte Token de acesso pessoal refinado no GitHub.
    • PASSWORD_SECRET_KEY: o nome do secret chave contendo o token de acesso pessoal para o tipo de autenticação PAT.
    • USER_NAME: é possível omitir esse valor de tipo de autenticação PAT.

Sincronizar pipelines do Cloud Data Fusion com um repositório remoto

Depois de configurar um repositório Git com um namespace, é possível realizar push e pull pipelines e sincronizá-los com o repositório Git.

Enviar pipelines do Cloud Data Fusion para o repositório Git

Para sincronizar vários pipelines implantados de um namespace para um repositório Git, siga estas etapas:

Console

  1. No Cloud Data Fusion Studio, Clique em Menu.
  2. Clique em Administrador de namespace.
  3. Na página Administrador de namespaces, clique em Gerenciamento de controle de origem. .
  4. Encontre o repositório Git que você quer sincronizar e clique em Sincronizar pipelines.
  5. Clique na guia Pipelines de namespace.
  6. Pesquise e selecione os pipelines que você quer enviar por push ao Git repositório de dados.

    Se a versão mais recente do pipeline for enviada por push ou extraída do Git repositório, o status Conectado ao Git mostra Connected. Se o pipeline nunca foi enviado para o GitHub, o status Conectado ao Git aparece em branco (-).

    Se você implantar uma versão mais recente de um pipeline que já esteja sincronizada com o Repositório Git, o status Conectado ao Git muda de Connected para em branco (-).

  7. Clique em Enviar para o repositório.

  8. Digite uma Mensagem de confirmação e clique em OK.

    A operação de envio é iniciada e uma mensagem é exibida indicando que a pipelines selecionados são enviados para o repositório remoto.

Envie pipelines do Cloud Data Fusion para o repositório Git.

Quando a operação de push for concluída com êxito, uma mensagem de sucesso será exibido indicando o número de pipelines que foram enviados repositório de dados.

Se a operação de push falhar, verifique o pipeline no GitHub para ver se é o versão mais recente. Para cada operação de push com falha, é exibida uma mensagem de erro exibidos. Para conferir os detalhes do erro, expanda a mensagem.

Também é possível enviar pipelines individuais do pipeline para um repositório Git estúdio de design:

  1. No Cloud Data Fusion Studio, Clique em Menu.
  2. Clique em Lista.
  3. Clique no pipeline que você quer enviar por push para o repositório Git.
  4. Na página do pipeline, clique em Ações >. Envie para o repositório.
  5. Digite uma Mensagem de confirmação e clique em OK.

Enviar pipelines do estúdio de design de pipelines.

API REST

  1. Envie um conjunto de pipelines do Cloud Data Fusion para o repositório Git:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/push -X POST
    -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}, "commitMessage": "COMMIT_MESSAGE"'
    

    Substitua:

    • NAMESPACE_ID: o ID do namespace.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: nomes dos pipelines a serem enviados.
    • COMMIT_MESSAGE: mensagem de confirmação para o Git fazer commit.

    A resposta contém o ID da operação de push. Exemplo:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Para pesquisar o status da operação de push, execute o seguinte comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Substitua:

    • NAMESPACE_ID: o ID do namespace.
    • OPERATION_ID: o ID de operação recebido do a operação de push.

    A resposta contém o status da operação de push. Exemplo:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Para verificar se a operação de push foi concluída, verifique o done na resposta. Se a operação falhar, verifique o error para mais detalhes.

Extrair pipelines do repositório Git para o Cloud Data Fusion

Para sincronizar vários pipelines de um repositório Git com seu namespace, siga estas etapas:

Console

  1. No Cloud Data Fusion Studio, Clique em Menu.
  2. Clique em Administrador de namespace.
  3. Na página Administrador de namespaces, clique em Gerenciamento de controle de origem. .
  4. Encontre o repositório Git que você quer sincronizar e clique em Pipelines de sincronização.
  5. Clique na guia Pipelines de repositório. Todos os pipelines armazenados no repositório Git são exibidos.
  6. Pesquise e selecione os pipelines que você quer extrair do Git no seu namespace do Cloud Data Fusion.
  7. Clique em Extrair do repositório.

    A operação de pull começa e uma mensagem é exibida indicando que o pipelines selecionados são extraídos do repositório remoto. o Cloud Data Fusion procura arquivos JSON no caminho configurado; e os extrai e os implanta como pipelines no Cloud Data Fusion.

Extraia pipelines do repositório Git para o Cloud Data Fusion.

Quando a operação de pull é concluída, uma mensagem de sucesso é exibidos indicando o número de pipelines que foram extraídos repositório remoto.

Se a operação de pull falhar, uma mensagem de erro será exibida. Para acessar detalhes do erro, expanda a mensagem de erro.

Também é possível extrair pipelines individuais de um repositório Git para um namespace do estúdio de design de pipeline:

  1. No Cloud Data Fusion Studio, Clique em Menu.
  2. Clique em Lista.
  3. Clique no pipeline que você quer extrair do repositório Git.
  4. Na página do pipeline, clique em Ações >. Extrair do repositório.

extrair pipelines do estúdio de design de pipelines.

API REST

  1. Extraia um conjunto de pipelines do repositório Git para o Cloud Data Fusion:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/pull -X POST -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}'
    

    Substitua:

    • NAMESPACE_ID: o ID do namespace.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: nomes dos pipelines a serem extraídos.

    A resposta contém o ID da operação de pull. Exemplo:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Para pesquisar o status da operação de pull, execute o seguinte comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Substitua:

    • NAMESPACE_ID: o ID do namespace.
    • OPERATION_ID: o ID de operação recebido do a operação de pull.

    A resposta contém o status da operação de pull. Exemplo:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Para verificar se a operação de pull foi concluída, verifique o done na resposta. Se a operação falhar, verifique o error para mais detalhes.

Excluir a configuração do repositório Git

Para excluir a configuração do repositório Git de um namespace, siga estas etapas:

Console

  1. No Cloud Data Fusion Studio, clique em Menu.
  2. Clique em Administrador de namespace.
  3. Na página Administrador de namespaces, clique em Gerenciamento de controle de origem. .
  4. Na configuração do repositório Git que você quer excluir, clique em > Excluir.

API REST

Exclua a configuração do repositório Git:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X DELETE

Substitua NAMESPACE_ID pelo ID do .

A seguir