Bitbucket vs Git



Faaaaaaaaaaaaaaala galerinha!
Graças a grande contribuição dos senhores na iniciativa vingadores (boa aceitação de meu primeiro post), tive a oportunidade de continuar escrevendo, afinal, se não existirem interessados este trabalho de super hero não serve de muita coisa (é tipo o hulk no ultimato xD).
Bem, dessa vez, estou aqui com o intuito de comparar dois grandes integrantes do universo ”canônico” do desenvolvimento de software, esta será feita sem opinar é claro (mesmo que eu prefira o gitHub :D). Estes caras são tipo a Marvel e a DC jovens geeks, cada um com seus poderes porém, no seu universo compartilhado. Vamos lá começar essa bagaça!
Obs: Ficou um pouco grande, então, peço que, mesmo que não leiam até o fim, pelo menos marquem a estrelinha da alegria, pois caso contrário, como sempre digo, espero que o estalo do Thanos acerte aleatoriamente vocês J
Este post vai ser separado em dois grandes arcos:
- O primeiro arco será direcionado aos desenvolvedores que apenas usam e não pagam (Estilo a batalha de Nova York / Marvel, ou a grana do Batman / DC) :D
- O segundo arco, será estilo a Guerra Civil / Marvel ou as Indústrias Queen, focado em política e Dinelo, muito Dinelo! Onde será feita a comparação dos benefícios pelo seu custo (essa é a parte que doí e muita gente esquece)...
Neste post, analisaremos as diferenças entre o GitHub e o Bitbucket , dois serviços de hospedagem de controle de versão baseados na Web e muito populares.
Independentemente de você escolher o BitBucket, o GitHub ou um repositório auto-hospedado, conectar um repositório ao DeployBot é muito simples. (Psst ... Se você já é um usuário do Bitbucket, este Guia de Implementação do Bitbucket vai ajudar.)

Arco 1: Bitbucket vs GitHub
O Bitbucket e o GitHub oferecem uma série de recursos que agradarão a todos, desde o desenvolvedor individual, pequenas equipes e até os clientes corporativos.
A hospedagem de repositórios Git e Mercurial (lembram-se dele nas pós-créditos do ultimo post né?) está disponível com o Bitbucket. As solicitações pull facilitam a revisão do código, enquanto as discussões inline simplificam o compartilhamento de conhecimento entre sua equipe. As permissões de filial permitem controlar quem pode escrever ou mesclar em ramificações específicas. Então, apenas as pessoas certas podem fazer as mudanças certas. E quando algo em seu repositório Bitbucket muda, as views diff ajudam você a entender melhor o que está acontecendo.
Bitbucket suporta armazenamento de arquivos grandes Git (LFS), o que significa menor tempo de clone e busca para aqueles que trabalham com arquivos grandes.
Os repositórios do Bitbucket podem ser organizados em projetos, ajudando a equipe a se concentrar em um resultado específico. Além disso, as integrações de terceiros permitem integrar o Bitbucket em várias facetas do seu fluxo de trabalho existente, tornando o processo de desenvolvimento completo muito mais eficiente. Versões em nuvem do Bitbucket oferecem entrega contínua integrada, rastreamento de problemas e wikis. O software integra-se facilmente ao Bamboo e ao Confluence, além do próprio Jira Software Cloud da Atlassian, para personalização e configuração adicionais da instalação. E para aqueles que usam o Trello para gerenciar tarefas do projeto em uma equipe, o Bitbucket oferece placas através de uma integração do Trello.
Como o Bitbucket, o GitHub oferece uma ampla variedade de recursos. As solicitações permitem que você conduza revisões, atribua tarefas e discuta ideias. Assim como no Bitbucket, os diffs do GitHub permitem comparar versões do código-fonte para que você possa ver as mudanças em seu repositório. Comentários e conversas ocorrem em seu código, ajudando a fornecer um feedback claro, como eu sempre costumo dizer “comente bem! Não faz mal escrever um pouco e ajudar um pobre coitado que vai pegar seu código depois”.
As permissões restringem quem pode enviar para uma ramificação específica e os repositórios podem ser configurados para exigir revisões de solicitações pull e verificações de status, ajudando a reduzir os erros.
O GitHub também oferece um conjunto de itens integrados de gerenciamento de projetos, incluindo cartões, notas, tarefas, marcos e atribuições (Isso ia ajudar um amigo meu no controle e gerenciamento. Vou chamar apenas chamar de ROD pra não ter que pagar royalties. Afinal, como ele sempre diz “EU SOU O CORNO DA HISTÓRIA”). É ROD! Isso ajuda a coordenar a equipe e manter todos no caminho certo. Se você precisar de algo especial, você sempre pode usar um dos vários complementos de terceiros do GitHub.
Com uma comunidade de mais de 20 milhões de usuários , os usuários do GitHub descobrirão que há uma enorme quantidade de suporte à comunidade disponível. Além disso, o GitHub é especialmente popular para projetos de código aberto, e a plataforma possui repositórios de tendências e exibe tópicos populares - portanto, se você quiser criar algo específico, provavelmente encontrará um repositório que pode ser combinado e personalizado sem precisar pesquisar muito.
Arco 2: Cash GitHub vs. Cash Bitbucket
Agora vamos falar daquilo que o brasileiro mais sabe fazer que é “pagar”. A comparação direta de preços entre o Bitbucket e o GitHub é difícil devido à complexidade das ofertas entre as duas organizações. Então, vamos começar com a versão gratuita oferecida pelo Bitbucket e pelo GitHub - e as diferenças entre a oferta gratuita de cada empresa, afinal não custa nada usar um Free.
Plano Individual “Di Grátis” // Bitbucket & GitHub
O plano gratuito oferecido pelo Bitbucket e GitHub é destinado a desenvolvedores individuais e equipes pequenas. Ao comparar o plano gratuito oferecido pelo Bitbucket ou pelo GitHub, fica claro que há um trade-off a ser feito entre o número de usuários versus o número de repositórios privados.
O Bitbucket oferece repositórios privados e públicos ilimitados, mas limita o número de usuários em seu plano gratuito a cinco. O GitHub oferece usuários ilimitados e repositórios públicos, mas não fornece repositórios privados em seu plano gratuito. Isso é algo que você precisa considerar se você é um programador novato que tem vergonha de compartilhar código ou está trabalhando em um projeto secreto que gostaria de manter em sigilo (famoso pano preto J).
Embora o GitHub ofereça um número ilimitado de colaboradores em seu plano gratuito, as permissões de equipe e usuário não estão disponíveis. Isso coloca alguns desafios ao trabalhar com uma equipe em que você deseja controlar melhor o acesso.
Plano de desenvolvimento do GitHub // GitHub
O GitHub oferece um plano de desenvolvimento de US $ 7 / mês que inclui uma conta pessoal, repositórios públicos e privados ilimitados e colaboradores ilimitados. Para os desenvolvedores solos interessados ​​no GitHub, que precisam de depositários privados, essa é uma opção viável.
Plano de equipe // Bitbucket & GitHub
Tanto o GitHub quanto o Bitbucket oferecem planos de equipe.
Como no plano gratuito, os planos pagos da Bitbucket oferecem repositórios privados ilimitados. Mas eles têm dois tipos de planos de equipe (Standard e Premium) que diferem nos recursos oferecidos.
O Bitbucket Standard (para equipes em crescimento) começa em US $ 10 / mês para 5 usuários, mais US $ 2 / mês para cada usuário adicional. O Bitbucket Premium (para grandes equipes) começa em US $ 25 / mês para 5 usuários, mais US $ 5 / mês para cada usuário adicional.
O Bitbucket Premium inclui mais minutos de construção para pipelines Bitbucket, maior armazenamento de arquivos grandes Git, além de recursos adicionais, como verificações de mesclagem necessárias, lista de permissões de IP, verificação em duas etapas e espelhamento inteligente.
O GitHub tem um plano de equipe que começa em US $ 25 por mês para cinco usuários, mais US $ 9 por mês para cada usuário adicional. Este plano pago fornece uma conta da organização com repositórios públicos e privados ilimitados com permissões de equipe e usuário.
Plano Empresarial / Corporativo // Bitbucket & GitHub
Bitbucket Server e Data Center são os dois planos empresariais oferecidos pela empresa-mãe, a Atlassian. Como o nome do plano implica, o plano do servidor é hospedado no próprio servidor da empresa e requer um pagamento único (US $ 2.000 para 25 usuários). Este plano inclui uma licença perpétua e um ano de manutenção gratuita.
O plano do Data Center está disponível por US $ 1.800 por ano para 25 usuários e é hospedado pelo data center Bitbucket. Ele oferece clustering avançado ativo para alta disponibilidade, espelhamento inteligente para desempenho em várias regiões e recuperação de desastre suportada pela Atlassian.
O GitHub oferece dois planos de negócios, Business on GitHub.com e GitHub Enterprise, a partir de US $ 21 / mês por usuário. Um está hospedado no GitHub.com, enquanto o outro está hospedado em seus servidores, AWS, Azure ou GCP. No caso do GitHub Enterprise, o licenciamento está disponível em blocos de 10 usuários cobrados anualmente. Ambos os planos oferecem níveis crescentes de suporte em comparação com outros planos do GitHub.
E o vencedor é... 

Só espero que não me processem por direitos autorais dessa imagem...J
... aquele que você escolher J. Sabe a frase do Tio Bem? “Grandes poderes vem grandes responsabilidades” ? Então, com este mega post, mother of god, você possui todo o poder de um Jedi e a força necessária para decidir o que é melhor para a sua situação atual (projetista e financeira claro). Ambas as opções são fáceis de usar, oferecem um produto de qualidade por um preço razoável e têm uma reputação merecida no mundo dos desenvolvedores. No entanto, como dito anteriormente, se você precisar ou quiser manter seu repositório privado, você precisará usar o BitBucket ou pagar uma pequena taxa para uma conta atualizada do GitHub. Caso contrário, ambos oferecem os recursos necessários em um serviço de hospedagem de controle de versão e o fazem muito bem.
É claro que nenhuma comparação entre o DeployBot Bitbucket e o Github seria completa sem mencionar que facilitamos a conexão do DeployBot a qualquer repositório, onde quer que ele esteja hospedado, para implementações de código mais rápidas e mais suaves. É o que fazemos.
Do ponto de vista de um desenvolvedor, ambas as ferramentas permitem que você execute ações comuns que são exigidas pela maioria das equipes de desenvolvimento atualmente, estas incluem:
  • Puxar pedido
  • Revisão de código
  • Edição inline
  • Acompanhamento de problemas
  • Suporte para Markdown
  • Autenticação de dois fatores
  • Gerenciamento Avançado de Permissão
  • Páginas da Web estáticas hospedadas
  • API rica em recursos
  • Repositórios de garfo / clone
  • Trechos
  • Integrações de terceiros

Fim....”aguarde a cena pós créditos”

Ainda tem dúvida? Oukey Oukey, abaixo vou ser mais direto em cada um dos ditos cujos:

Bitbucket

 

Da suíte Atlassian , o Bitbucket vem como um sistema de controle de versão distribuído baseado no Git.Muito conhecida por sua integração total com outros produtos da família Atlassian, como Jira, Fisheye e Bamboo. A vantagem que a Bitbucket tem sobre seus concorrentes é que a Bitbucket oferece um número ilimitado de repositórios privados.
Para elaborar mais sobre os recursos que o Bitbucket tem a oferecer:
  • Suporta Mercurial e Git
  • Integração direta com Bambu, Jira, Crucible e Jenkins
  • Suporta autenticação externa com o Github, Facebook, Twitter e Google
  • Pode importar repos facilmente a partir do Git, Codeplex, Google Code, HG, SourceForge e SVN.
  • Tem comparação de ramificação e histórico de confirmação
  • Tem um cliente Mac e Windows chamado SourceTree e um aplicativo Android chamado BitBeaker
  • Lançamento com o Jira Software e o Bitbucket, que são perfeitamente integrados da filial à implantação. Crie ramificações Bitbucket de dentro do Software Jira ou problemas de transição sem sair do Bitbucket.
  • Os pipelines são construídos dentro do Bitbucket Cloud, dando a você visibilidade de ponta a ponta, desde a codificação até a implantação.
Uma desvantagem, no entanto, é que ele não inclui suporte para SVN, mas isso pode ser facilmente corrigido ao migrar os repositórios SVN para o Git com ferramentas como o SVN Mirror para Bitbucket.

Servidor Bitbucket (tipicamente Azure ou AWS)

 

Se você deseja mover de uma implantação de servidor único para um cluster ativo-ativo altamente disponível com o Bitbucket Data Center. Se você decidir instalar seu próprio servidor Bitbucket, terá duas opções de escolha:
Servidor
·         Hospedagem de código baseada em Git e colaboração para equipes
·         Uma implantação de servidor único
·         Licença perpétua + ano livre de manutenção
Centro de dados
·         Hospedagem de código baseada em Git e colaboração para equipes
·         Clustering ativo-ativo para alta disponibilidade
·         Espelhamento inteligente para desempenho em diferentes regiões
·         Licença de prazo anual + manutenção
Passando para a segunda ferramenta dentro da minha comparação: GitHub.

GitHub

 

Entre as características gerais do GitHub, há algumas características que realmente se destacam:
  • Páginas do GitHub e GitHub Gists
  • Suporta clientes SVN
  • Suporta GIT
  • Integração direta com: Zendesk, Cloudbees, Travis, AWS, Codeclimate, Azure, Google Cloud e Heroku
  • Pode facilmente importar repos do Git, SVN, TFS e HG
A desvantagem de usar o GitHub é que você tem que pagar por ter um repositório privado, algo que vem de graça com todos os planos do Bitbucket.

Github.com (hospedado pelo Github)

O GitHub é uma plataforma de desenvolvimento muito conhecida, com mais de um milhão de equipes formando sua comunidade. Do código - fonte aberto aos negócios , você pode hospedar e analisar códigos, gerenciar projetos e construir softwares ao lado de milhões de outros desenvolvedores.
Como você provavelmente sabe, é grátis, MAS, apesar desse plano gratuito permitir que você crie um número ilimitado de repositórios públicos, ele não permite que você tenha repositórios privados. Para isso, você precisa atualizar seu plano gratuito para um dos seguintes planos de assinatura:

 

GitHub Enterprise (normalmente, o Azure ou o AWS)


O GitHub Enterprise é a versão local do GitHub.com .
Todos os dados do repositório são armazenados em máquinas que você controla e o acesso é integrado ao sistema de autenticação da sua organização (LDAP, SAML ou CAS).
O GitHub Enterprise é fornecido como um dispositivo virtual, isso inclui todo o software necessário para ser instalado e executado. O único software adicional necessário é um ambiente de máquina virtual compatível.
Os seguintes requisitos mínimos de hardware são sugeridos para implantações de produção:
·         Processador: Dois núcleos de CPU de 3,0 GHz (ou equivalente virtual)
·         Memória: 14-16 GB (mínimo dependente da plataforma selecionada)
·         Disco: partição raiz da VM de 80 GB
·         Partição de dados de 100 GB (nossa recomendação, o tamanho real depende dos seus dados)
·         Armazenamento: SAN de alto desempenho ou armazenamento conectado localmente
Para projetos de hospedagem, como o GitHub Enterprise é uma instância privada, ele é projetado apenas para colaboração interna, portanto, projetos públicos não são permitidos nele.
O GitHub Enterprise não está seguindo o modelo tradicional de pagamento por usuário por mês como GitHub.com , ele é licenciado sob um modelo de assinatura anual em que os assentos são adquiridos por um período de um ano, isso inclui suporte completo e acesso a todas as atualizações e upgrades.
Isso inclui, como comentamos antes:
  • Múltiplas organizações
  • SAML, LDAP e CAS
  • Provisionamento de acesso
  • Suporte 24/7 para problemas urgentes
  • Auditoria Avançada
  • Hospede em seus servidores, AWS, Azure ou GCP
Mas, novamente, os assentos são vendidos em pacotes de 10 usuários e faturados anualmente.
Mais informações aqui: https://enterprise.github.com/features#pricing .

Integração Com Jira


 

Apesar do Bitbucket ser um produto da Atlassian, ambas as ferramentas têm total integração com o Jira.Quando os desenvolvedores criam uma ramificação, criam uma solicitação pull, um código de commit, etc, tudo é refletido nos seus tickets Jira.

Mas não apenas isso, usando o plug-in DVCS no Jira , você poderá alterar algumas propriedades em seus tickets apenas adicionando o comentário correto em sua operação de repositório, outras capacidades incluem:
  • Comente sobre questões
  • Registrar informações de rastreamento de tempo em relação a problemas
  • Transição de problemas para qualquer status (por exemplo, 'Resolvido') definido no fluxo de trabalho do projeto JIRA Software.
  • Adicionar rótulos
Em termos de quantidade de integrações, o Atlassian Marketplace expulsa o GitHub da água. Unificar suas extensões no Atlassian significa implementação mais fácil e fluxos de trabalho mais coerentes, para que você não tenha que fazer malabarismos entre vários provedores de aplicativos. A compatibilidade integrada permitirá que os desenvolvedores utilizem mais ferramentas com mais facilidade e codifiquem um produto melhor.

Integração Com Jenkins 



Uma coisa a ser levada muito a sério é como o seu Version Control System se integra com outras ferramentas que fazem parte do pipeline de CI / CD. Entre os servidores de automação de CI / CD mais populares, temos o Jenkins, que é usado extensivamente por muitas equipes de desenvolvedores para criar, testar e implantar soluções de maneira automatizada.
As pessoas podem ver que o Jenkins é uma ferramenta de código aberto, pois tem centenas de plugins e personalizações e é muito fácil de integrar com qualquer VCS. No entanto, o mesmo não pode ser dito sobre a integração com o Github ou o Bitbucket do que com o TFVC ou o Perforce. A integração pode ser bastante direta ou um verdadeiro pesadelo.
Ambos, Github e Bitbucket, têm a integração clássica com o Jenkins, como trigger em commit ou pull request.
O Jenkins, ele próprio localizado no GitHub, possui vários plugins para integração no GitHub. Os principais caminhos para integrar sua instância do Jenkins com o GitHub são:
  • “Integração de builds” - usando o GitHub para acionar construções
  • “Integração de autenticação” - usando o GitHub como fonte de informações de autenticação para proteger uma instância do Jenkins.
Para o Bitbucket, é um pouco mais desajeitado, mas também pode ser feito. Existe um artigo interessante de Tomas Bjerre sobre como fazer isso.
Atlassian também tem um plugin pago para Jenkins  que não é muito caro e pode ser feito de forma mais eficiente.
Para migrar do GIT para o GitHub ou Bitbucket, ambos seguem procedimentos semelhantes e são diretos, sem soluções alternativas necessárias.
Bem senhores, chegamos ao final de mais um post e, espero realmente que tenha sido útil. Como dito no início, estes dois grandes heróis da atualidade possuem pontos positivos e negativos que variam dentre as necessidades. Este serve para definir um norte e não como imposição (afinal de preferir o GitHub). Então boa escolha, bons códigos, bons projetos e até a próxima, nesta mesma hora e neste mesmo canal. Espero que tenham gostado e, um abraço do amigo da vizinhança de sempre Bruno Rafael.

Comentários

Postagens mais visitadas deste blog

E Esse Tal de Nano Service?

Executar Audio em Java Swing

Validando Email em Java Com e Sem expressão Regular