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.
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.
-
No terminal, faça logon no projeto Adobe Commerce na infraestrutura da nuvem.
code language-bash magento-cloud login
-
Liste os projetos e copie a ID do projeto.
code language-bash magento-cloud project:list
-
Clona o projeto em seu ambiente local.
code language-bash magento-cloud project:get <project-ID>
-
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
oumagento
. Seorigin
existir, você pode escolher um nome diferente ou pode renomear ou excluir a referência existente. Consulte a documentação git-remote. -
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)
-
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. -
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:
-
Faça logon na sua conta Bitbucket.
-
Clique em Configurações > Gerenciamento de acesso > OAuth.
-
Clique em Adicionar consumidor e configure-o da seguinte maneira:
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. -
Clique em Salvar.
-
Clique no consumidor Nome para revelar seu OAuth
key
esecret
. -
Copie seu OAuth
key
esecret
para configurar a integração.
Configurar a integração
-
No terminal, navegue até o projeto de infraestrutura do Adobe Commerce na nuvem.
-
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. -
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.
-
Exclua o arquivo temporário
bitbucket.json
. -
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.
-
Faça logon na sua conta Bitbucket.
-
Clique em Repositórios e selecione seu projeto.
-
Clique em Configurações do Repositório > Fluxo de Trabalho > Webhooks.
-
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
-
Clique em Adicionar webhook.
-
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
-
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.
-
Criar um arquivo de teste.
code language-bash touch test.md
-
Confirme e envie a alteração para o repositório Bitbucket.
code language-bash git add . && git commit -m "Testing Bitbucket integration" && git push
-
Faça logon no Cloud Console e verifique se a mensagem de confirmação é exibida e se o projeto está sendo implantado.
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:
-
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)
-
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:
-
No terminal, faça logon no projeto Adobe Commerce na infraestrutura da nuvem.
-
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
-
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:
- Token de acesso de bucket — gere um token que conceda acesso ao Projeto
read
e ao Repositórioadmin
- URL do servidor do Bitbucket — Adicione a URL base da sua instância do Bitbucket
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