Por Ivan de Souza

Analista de Marketing na Rock Content.

Publicado em 26 de maio de 2020. | Atualizado em 26 de maio de 2020


Bitbucket é uma ferramenta de hospedagem e colaboração com ambiente é favorável para o compartilhamento de dados, criação e implantação de códigos e automatização de testes no melhor conceito de cloud computing e infraestruturas on premises.

Bitbucket é uma ferramenta de hospedagem e colaboração de código baseada em Git, criada para equipes profissionais de engenharia de software e gestão de projetos. A marca BitBucket foi adquirida pela Atlassian em 2010, o que garante às suas ferramentas integração total com os demais serviços da empresa e ainda workflows do Jira e do Trello.

O ambiente é favorável para o compartilhamento de dados, criação e implantação de códigos e automatização de testes no melhor conceito de cloud — o Bitbucket Cloud, por exemplo, está hospedado nos servidores da Atlassian e pode ser acessado por meio de um URL mas também permite hospedagem local, em infraestruturas on-premises — o Bitbucket Server, que suporta soluções como o Bamboo e automatiza todos os processos com licença infinita.

Já o Bitbucket Data Center é uma oferta corporativa hospedada em vários servidores em clusters, que permitem ao ambiente características vantajosas como performance escalável, alta disponibilidade e espelhamento inteligente. É possível configurá-lo em duas etapas com modelos específicos de idioma. Quer descobrir as funcionalidades dessa ferramenta? Acompanhe agora neste artigo:

  • Como o Bitbucket funciona?
  • Como usar o Bitbucket?
  • Quais os principais motivos para utilizá-lo?

Como o Bitbucket funciona?

Agora vamos apresentar a interface do usuário do Bitbucket e o que é necessário para começar a usar a ferramenta.

O painel “Your work” exibe as solicitações de recebimento e os repositórios importantes para os usuários.

Your work

Nesse painel é possível acompanhar as solicitações abertas de responsabilidade do usuário, demandas criadas e uma lista de repositórios autorizadas para acesso. Por meio do filtro no canto superior direito, é possível ajustar essas listas para atender às necessidades específicas. Por exemplo, ocultar solicitações pull com compilações quebradas, para ver apenas o código pronto.

Na aba “Repositories” constam os repositórios acessíveis ao usuário. Por padrão, o ambiente é organizado pelo último repositório atualizado, para que o usuário consiga visualizar alterações mais recentes na parte superior. Também é possível fazer buscas por nome ou filtrar a lista por projeto, pelo proprietário do repositório ou exibir apenas processos em que o usuário é responsável, no filtro “Watching”.

Bitbucket projects

Ao clicar na aba “Projects” — projetos, o usuário pode agrupar e organizar seus repositórios para facilitar a localização e a visualização de workflows nos projetos existentes mas também pode criar novos.

Bitbucket projects

A revisão de código é uma etapa crucial no ciclo de desenvolvimento de software e ajuda a garantir a qualidade da remessa e a confiabilidade dos resultados. Por meio da aba “Pull request”, ou solicitações de recebimento, o usuário pode efetivar a revisão de código no Bitbucket e encontrar rapidamente solicitações que demandam a sua atenção.

Na seção é possível encontrar botões de filtro rápido para alterar as solicitações conforme:

  • revisão — solicitações que dependem da análise do usuário;
  • acompanhamento — solicitações para o acompanhamento do usuário;
  • criadas — solicitações criadas pelo usuário;
  • equipes — solicitações criadas pela equipe do usuário.

No Bitbucket, o usuário pode deixar comentários na solicitação pull completa, em um arquivo específico ou um local específico dentro de um arquivo. Isso é útil para dar mais contexto aos argumentos usados para análise. Também é possível incluir imagens, links, rich text e um URL exclusivo.

Depois de revisar as alterações no código, o usuário precisa informar ao autor da solicitação para que elas sejam mescladas no arquivo original. Ao clicar no botão “Aprovar” o autor recebe uma notificação e admite que elas sejam incluídas, assim como elas não são mescladas se houve desaprovação.

Bitbucket pull requests

No Bitbucket Cloud, o usuário também encontra a seção “Issues”, onde pode rastrear solicitações de recursos do projeto, relatórios de erros e outras tarefas.

Bitbucket issue tracker

Há também a seção de configurações, onde o usuário encontra elementos para gerenciar sua plataforma. Basta que o usuário clique em seu avatar no canto inferior esquerdo da interface para encontrar:

  • configurações de segurança — chaves SSH e verificação em duas etapas;
  • customização de notificações;
  • aplicativos e integração — para encontrar, instalar e gerenciar todas as soluções suportadas pelo Bitbucket.
Bitbucket account settings

Como usar o Bitbucket?

Antes de começar a usar o Bitbucket você precisará criar uma conta. Depois, basta seguir os passos abaixo.

Etapa 1: adicione seu código ao Bitbucket

Repositórios são ambientes criados para armazenar o código no Bitbucket. Existem algumas maneiras de começar, pois o usuário pode iniciar do zero ou importar informações de outro provedor.

Para criar um novo repositório:

  1. clique em + na barra lateral global à esquerda e, em “Criar novo”, selecione “Repositório”;
  2. dê um nome ao repositório, que será incluído em sua URL;
  3. defina a opção de incluir um README para orientar novos usuários;
  4. clique em “Criar”.
Create a new repository

Etapa 2: configure localmente, colabore globalmente

Com seu repositório em cloud, agora será preciso configurar o sistema local para contribuir ou alterar o código no Bitbucket. A etapa requer que o usuário tenha instalado e configurado o Git.

Depois de criado (ou importado), para colaborar na alteração do código em um repositório do Bitbucket, o usuário precisa clonar o repositório no seu sistema local:

  1. clique em + na barra lateral global à esquerda e, em “Começar a trabalhar”, selecione “Clonar este repositório”;
  2. selecione HTTPS no menu no canto superior direito, caso você ainda não tenha configurado suas chaves SSH);
  3. copie o comando clone.
Clone this repository

Da CLI:

  1. Vá para o diretório em que deseja clonar <path_to_directory>;
  2. cole o comando que você copiou do Bitbucket: git clone https: //username@bitbucket.org/teamsinspace/documentation-test.git.

Um novo subdiretório aparece na sua unidade local com o mesmo nome do repositório que você clonou. Se você clonou um repositório vazio, talvez ainda não haverá nada nesse diretório local.

Num dia típico de desenvolvedor, você trabalha no seu código localmente e salva as alterações quando termina. Em seguida, você adiciona, confirma e envia as alterações para o Bitbucket na interface da linha de comando. Se um colega de trabalho fizer modificações importantes nos arquivos que você enviou na etapa anterior, você consegue acompanhar em tempo real. Para editar esse arquivo online, basta seguir as instruções:

  1. vá para o repositório;
  2. clique no nome do arquivo;
  3. clique em “Editar”;
  4. faça uma mudança;
  5. clique em “Confirmar”.

Se você não tem arquivos no Bitbucket porque pulou a etapa opcional para adicionar um arquivo README ao seu repositório, vá para o repositório e crie um clicando em “Criar um README”. Atualize sempre o repositório local, isso garante que você trabalhe sempre com uma versão mais atualizada do seu código.

Powered by Rock Convert

Etapa 3: ramificação básica com Bitbucket

A ramificação permite que cada membro da equipe trabalhe em workflows simultaneamente, sem afetar a base de código original ou o trabalho um do outro. Quando você estiver pronto para mesclar as alterações, basta enviar a sua ramificação para o Bitbucket, para que ela seja revisada em solicitações de recebimento “Pull requests”.

Existem algumas maneiras de criar ramificações (branches), a partir de:

  • Bitbucket;
  • CLI;
  • Jira.

No repositório, clique em + na barra lateral global e, em “Começar a trabalhar”, selecione “Criar uma ramificação”. No pop-up exibido, selecione um dos tipos exibidos, insira um nome e clique em “Criar”.

Create branch

Da CLI:

Depois de criada, busque e efetue o check-out da ramificação em seu sistema local. O Bitbucket mostrará automaticamente o comando necessário, algo como: git fetch && git checkout <branch name>.

Faça as alterações localmente, adicione, confirme e envie por push as alterações para a ramificação: git add. git commit -m “adding a change from the feature branch” git push origin <branch name>. Clique na seção “Source” do seu repositório para ver a ramificação principal em uma lista suspensa.

Filter branches

Etapa 4: revise as alterações de código com uma solicitação pull (pull requests)

Depois que suas alterações de código forem enviadas para o Bitbucket, é hora de revisá-las. Nesse ambiente é possível colaborar com todos os membros da equipe:

  1. no repositório aberto, clique em + na barra lateral global e selecione “Create a pull request” na aba “Get to work”.
  2. preencha o restante do formulário de solicitação, conforme a imagem a seguir.
Create a pull request
  • source: repositório e a ramificação em que você fez as alterações de código que deseja mesclar;
  • destination: repositório e a ramificação em que você deseja salvar suas alterações;
  • title and description: nome que intitulará as notificações por email e a lista de solicitações pull;
  • reviewers: revisores escolhidos para dar feedbacks e aprovar as alterações;
  • close branch: selecione se deseja fechar automaticamente a ramificação quando a solicitação pull for mesclada;
  • diff and commits: verifique estas guias para acompanhar as alterações feitas. Clique em Criar solicitação de recebimento.

Mesclar uma solicitação de recebimento

Depois que seu código for revisado e aprovado em uma solicitação pull, clique no botão “Merge” para mesclar a ramificação no arquivo principal e incorporar as alterações.

Quais os principais motivos para utilizá-lo?

O Bitbucket é uma plataforma que eleva os padrões de hospedagem Git. Veja algumas vantagens do uso da solução a seguir.

Performance escalável

O Bitbucket é responsivo, mesmo no pico de uso, e os efeitos da alta carga de trabalho do servidor não afetam a capacidade de resposta da interface do usuário. Por isso, a solução pode atender adequadamente com adição de usuários simultâneos ao cluster.

Os elementos que mais contribuem para o desempenho geral do Bitbucket são o poder de computação, a largura de banda de E/S (Entrada e Saída, ou Input e Output) e a conectividade de rede disponíveis.

Para garantir esse desempenho e escalabilidade são realizados testes de forma isolada em laboratórios com carga suficiente para exercitar um grande cluster, com vários servidores geradores de carga (24 CPUs e 48 GB de RAM e discos rígidos SSD cada). Durante uma execução de teste, toda a telemetria do sistema é coletada e enviada para um servidor central, onde é ordenada e analisada com scripts R e Python para identificar como cada parte do sistema atua.

Os scripts de teste são ajustados para emular um perfil de uso que segue critérios como:

  • usuários criados e funções atribuídas (administração, revisor, colaborador);
  • repositórios e projetos criados;
  • usuários atribuídos a cada repositório;
  • solicitações pull a serem criadas;
  •  arquivos a serem editados, excluídos ou renomeados;
  • revisores;
  • colaboradores.

Alta disponibilidade

Uma vantagem importante para soluções como o Bitbucket é a alta disponibilidade: no data center, por exemplo, se um elemento do cluster der problema ou outros conseguem atender às solicitações, para que os usuários não percebam nenhuma perda, por exemplo.

Como em qualquer sistema, cada componente de uma instância do Bitbucket é um ponto potencial de falha e perda de disponibilidade para os usuários. Portanto, é importante ter um plano de failover para cada um deles, a fim de garantir performance máxima, Clusters com várias máquinas dedicadas são conectadas conforme o diagrama abaixo.

https://confluence.atlassian.com/enterprise/files/687022231/935393812/2/1503975140275/BitbucketDataCenter-4-node-architecture_diagram.png

Cada nó compartilha a carga de trabalho das solicitações recebidas e garante um failover ativo. O Bitbucket Data Center, por exemplo, tem um balanceador de carga capaz de detectar rapidamente a falha e o failover para os nós restantes do cluster. O Bitbucket fornece um recurso que verifica a integridade de cada elemento do cluster periodicamente. Se um nó do cluster ficar inoperante, a maioria dos balanceadores de carga poderá detectar a falha e direcionar o tráfego para os outros nós em segundos.

Espelhamento inteligente

Muitas equipes de desenvolvimento de software que usam o Git têm grandes repositórios, devido ao armazenamento de dados históricos, uso de repositórios monolíticos ou de arquivos binários. Além disso, empresas com equipes de desenvolvimento de software distribuído geralmente têm pouco controle sobre o desempenho da rede.

Isso resulta em perdas de tempo de trabalho no processo de desenvolvimento em função dos longos períodos de espera para mesclar o trabalho de todos os membros da equipe. O espelhamento inteligente, recurso disponível apenas para clientes com uma licença ativa do Bitbucket Data Center, evita esse tempo perdido.

Ele permite que o usuário configure cópias hospedadas nos repositórios remotos que mantêm a sincronia com a instância principal e a integridade das informações.

Autocorreção de arquivos

A autocorreção é um dos principais elementos de design do Bitbucket. Por meio do espelhamento inteligente é possível detectar e recuperar vários cenários de erro, enquanto todas as operações continuam. Também abrange um sistema que verifica a consistência da função de espelhamento a cada 3 minutos.

Segurança

A segurança é uma questão muito relevante no contexto da Transformação Digital. Com o Bitbucket os códigos e workflows criados estarão seguros na nuvem e podem ser acessados a partir de uma lista de permissões de IP e a verificação multifatorial (de duas etapas). Também é possível restringir o acesso a determinados usuários e controlar suas ações com permissões de ramificação e verificações de mesclagem.

A segurança deve ser edificada em todas as camadas da infraestrutura e dos processos. Por isso, é preciso atentar para diferenciais como:

  • criptografia de dados: no Bitbucket todos os dados são criptografados em trânsito pelas redes públicas por meio do TLS (Transport Layer Security) 1.2+ com Perfect Forward Secrecy (PFS);
  • SSO baseado em SAML, para fortalecer o login;
  • suporte de chave de segurança, por meio do padrão FIDO U2F;
  • lista de permissões de IP e 2FA imposta com atribuições de endereços IP e exigência de autenticação de dois fatores;
  • certificações de conformidade como SOC II, SOC III, PCI DSS, ISO/IEC 27001, ISO/IEC 27018 e adequações com a GDPR (Regulamento Geral de Proteção de Dados) da União Europeia.

Frequentemente, o Bitbucket é comparado com outras soluções Git. Por isso, selecionamos um artigo que explica melhor sobre o GitHub para que você possa tomar suas próprias conclusões. Confira!

100.000 pessoas não podem estar enganadas
Deixe seu email e receba conteúdos antes de todo mundo

Posts relacionados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *