Integração com bitbucket

Você pode configurar o repositório do Bitbucket para criar e implantar automaticamente um ambiente quando você envia alterações de código. Essa integração sincroniza o repositório Bitbucket com a conta do Adobe Commerce na infraestrutura em nuvem.

NOTE
A Adobe recomenda o uso de um repositório privado para o seu projeto do Adobe Commerce na infraestrutura em nuvem para proteger qualquer informação proprietária ou trabalho de desenvolvimento, como extensões e configurações confidenciais.

Pré-requisitos

  • Acesso de administrador ao projeto de infraestrutura em nuvem do Adobe Commerce
  • Ferramenta magento-cloud CLI em seu ambiente local
  • Uma conta do Bitbucket
  • Acesso de administrador ao repositório do Bitbucket
  • Uma chave de acesso SSH para o repositório Bitbucket

Preparar seu repositório

Clonar seu projeto Adobe Commerce na infraestrutura em nuvem de um ambiente existente e migrar as ramificações do projeto para um novo repositório vazio de buckets, preservando os mesmos nomes de ramificações. É crítico manter uma árvore Git idêntica, para que você não perca ambientes ou ramificações existentes no seu projeto do Adobe Commerce na infraestrutura em nuvem.

  1. No terminal, faça logon no projeto Adobe Commerce na infraestrutura da nuvem.

    code language-bash
    magento-cloud login
    
  2. Liste os projetos e copie a ID do projeto.

    code language-bash
    magento-cloud project:list
    
  3. Clona o projeto em seu ambiente local.

    code language-bash
    magento-cloud project:get <project-ID>
    
  4. Adicione seu repositório Bitbucket como remoto.

    code language-bash
    git remote add origin git@bitbucket.org:<user-name>/<repo-name>.git
    

    O nome padrão da conexão remota pode ser origin ou magento. Se origin existir, você pode escolher um nome diferente ou pode renomear ou excluir a referência existente. Consulte a documentação git-remote.

  5. Verifique se você adicionou o controle remoto do Bitbucket corretamente.

    code language-bash
    git remote -v
    

    Resposta esperada:

    code language-none
    origin git@bitbucket.org:<user-name>/<repo-name>.git (fetch)
    origin git@bitbucket.org:<user-name>/<repo-name>.git (push)
    
  6. Envie os arquivos do projeto para o novo repositório Bitbucket. Lembre-se de manter todos os nomes de ramificação iguais.

    code language-bash
    git push -u origin master
    

    Se você estiver começando com um novo repositório Bitbucket, talvez precise usar a opção -f, pois o repositório remoto não corresponde à sua cópia local.

  7. Verifique se o repositório Bitbucket contém todos os arquivos de projeto.

Criar um consumidor OAuth

A integração do Bitbucket requer um consumidor OAuth. Você precisa do OAuth key e secret deste consumidor para concluir a próxima seção.

Para criar um consumidor OAuth no Bitbucket:

  1. Faça logon na sua conta Bitbucket.

  2. Clique em Configurações > Gerenciamento de acesso > OAuth.

  3. Clique em Adicionar consumidor e configure-o da seguinte maneira:

    Configuração do consumidor OAuth do Bitbucket

    note warning
    WARNING
    Uma URL de Retorno válida não é necessária, mas você deve inserir um valor neste campo para concluir com êxito a integração.
  4. Clique em Salvar.

  5. Clique no consumidor Nome para revelar seu OAuth key e secret.

  6. Copie seu OAuth key e secret para configurar a integração.

Configurar a integração

  1. No terminal, navegue até o projeto de infraestrutura do Adobe Commerce na nuvem.

  2. Crie um arquivo temporário chamado bitbucket.json e adicione o seguinte, substituindo as variáveis entre colchetes com seus valores:

    code language-json
    {
      "type": "bitbucket",
      "repository": "<bitbucket-user-name/bitbucket-repo-name>",
      "app_credentials": {
        "key": "<oauth-consumer-key>",
        "secret": "<oauth-consumer-secret>"
      },
      "prune_branches": true,
      "fetch_branches": true,
      "build_pull_requests": true,
      "resync_pull_requests": true
    }
    
    note tip
    TIP
    Certifique-se de usar o nome do repositório Bitbucket e não o URL. A integração falha se você usar um URL.
  3. Adicione a integração ao seu projeto usando a ferramenta CLI magento-cloud.

    note warning
    WARNING
    O comando a seguir substitui todos os códigos do projeto Adobe Commerce na infraestrutura em nuvem pelo código do repositório Bitbucket. Isso inclui todas as ramificações, incluindo a ramificação production. Essa ação acontece instantaneamente e não pode ser desfeita. Como prática recomendada, é importante clonar todas as ramificações do projeto Adobe Commerce na infraestrutura em nuvem e enviá-las para o repositório de Bitbucket antes de adicionar a integração de Bitbucket.
    code language-bash
    magento-cloud project:curl -p '<project-ID>' /integrations -i -X POST -d "$(< bitbucket.json)"
    

    Isso retorna uma resposta HTTP longa com cabeçalhos. Uma integração bem-sucedida retorna um código de status 200 ou 201. Um status 400 ou superior indica que ocorreu um erro.

  4. Exclua o arquivo temporário bitbucket.json.

  5. Verifique a integração do projeto.

    code language-bash
    magento-cloud integrations -p <project-ID>
    
    code language-none
    +----------+-----------+--------------------------------------------------------------------------------+
    | ID       | Type      | Summary                                                                        |
    +----------+-----------+--------------------------------------------------------------------------------+
    | <int-id> | bitbucket | Repository: bitbucket_Account/magento-int                                      |
    |          |           | Hook URL:                                                                      |
    |          |           | https://magento-url.cloud/api/projects/<project-id>/integrations/<int-id>/hook |
    +----------+-----------+--------------------------------------------------------------------------------+
    

    Anote a Hook URL para configurar um webhook no BitBucket.

Adicionar um webhook no BitBucket

Para comunicar eventos (como push) com o servidor Git da Nuvem, é necessário ter um webhook para o repositório do BitBucket. O método de configuração de uma integração Bitbucket detalhado nesta página, quando seguido corretamente, cria automaticamente um webhook. É importante verificar o webhook para evitar a criação de várias integrações.

  1. Faça logon na sua conta Bitbucket.

  2. Clique em Repositórios e selecione seu projeto.

  3. Clique em Configurações do Repositório > Fluxo de Trabalho > Webhooks.

  4. Verifique o webhook antes de continuar.

    Se o gancho estiver ativo, ignore as etapas restantes e Teste a integração. O gancho deve ter um nome semelhante a "Adobe Commerce na infraestrutura de nuvem <project_id>" e um formato de URL de gancho semelhante a: https://<zone>.magento.cloud/api/projects/<project_id>/integrations/<id>/hook

  5. Clique em Adicionar webhook.

  6. No modo de exibição Adicionar novo webhook, edite os seguintes campos:

    • Título: Integração com o Adobe Commerce
    • URL: usar a URL do gancho da lista de integração magento-cloud
    • Triggers: o padrão é um push de repositório básico
  7. Clique em Salvar.

Testar a integração

Após configurar a integração do Bitbucket, você pode verificar se a integração está operacional usando a CLI do magento-cloud:

magento-cloud integration:validate

Ou você pode testá-lo enviando uma simples alteração para o seu repositório Bitbucket.

  1. Criar um arquivo de teste.

    code language-bash
    touch test.md
    
  2. Confirme e envie a alteração para o repositório Bitbucket.

    code language-bash
    git add . && git commit -m "Testing Bitbucket integration" && git push
    
  3. Faça logon no Cloud Console e verifique se a mensagem de confirmação é exibida e se o projeto está sendo implantado.

    Testando a integração do Bitbucket

Criar uma ramificação de nuvem

A integração do Bitbucket não pode ativar novos ambientes no projeto de infraestrutura do Adobe Commerce na nuvem. Se você criar um ambiente com o Bitbucket, deverá ativá-lo manualmente. Para evitar essa etapa extra, é prática recomendada criar ambientes usando a ferramenta da CLI do magento-cloud ou o Cloud Console.

Para ativar uma ramificação criada com o Bitbucket:

  1. Use a CLI do magento-cloud para enviar a ramificação.

    code language-bash
    magento-cloud environment:push from-bitbucket
    
    code language-none
    Pushing from-bitbucket to the new environment from-bitbucket
    Activate from-bitbucket after pushing? [Y/n] y
    Parent environment [master]: integration
    --- (Validation and activation messages)
    
  2. Verifique se o ambiente está ativo.

    code language-bash
    magento-cloud environment:list
    
    code language-none
    Your environments are:
    +---------------------+----------------+--------+
    | ID                  | Name           | Status |
    +---------------------+----------------+--------+
    | master              | Master         | Active |
    |  integration        | integration    | Active |
    |    from-bitbucket * | from-bitbucket | Active |
    +---------------------+----------------+--------+
    * - Indicates the current environment
    

Depois de criar um ambiente, você pode enviar a ramificação correspondente para o repositório remoto do Bitbucket usando comandos Git comuns. Alterações subsequentes na ramificação no Bitbucket criam e implantam automaticamente o ambiente.

Remover a integração

Você pode remover com segurança a integração do Bitbucket do seu projeto sem afetar o código.

Para remover a integração do Bitbucket:

  1. No terminal, faça logon no projeto Adobe Commerce na infraestrutura da nuvem.

  2. Liste suas integrações. Você precisa da ID de integração do Bitbucket para concluir a próxima etapa.

    code language-bash
    magento-cloud integration:list
    
  3. Exclua a integração.

    code language-bash
    magento-cloud integration:delete <int-ID>
    

Além disso, você pode remover a integração do Bitbucket fazendo logon em sua conta do Bitbucket e revogando a concessão OAuth na página Configurações da conta.

Integração do servidor de bitbucket

Para usar a integração do servidor Bitbucket, você precisa do seguinte:

Embora você possa usar a CLI da nuvem para percorrer as etapas de integração do servidor Bitbucket, o comando completo é semelhante ao seguinte:

magento-cloud integration:add --type=bitbucket_server --base-url=<bitbucket-url> --username=<username> --token=<bitbucket-access-token> --project=<project-ID>

Use o comando de ajuda para obter mais requisitos e opções de uso: magento-cloud integration:add --help

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26