Github x Gitlab x Bitbucket
Sistemas de Controle de Versão
editarUm sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um código-fonte, documento e etc. Com isso ele te oferece uma maneira muito mais inteligente e eficaz de organizar seu projeto, pois é possível acompanhar um histórico de desenvolvimento, desenvolver paralelamente e ainda te oferecer outras vantagens, como exemplo, customizar uma versão, incluir outros requisitos, finalidades especificas e afins sem mexer no projeto principal ou resgatar o sistema em um ponto que estava estável, isso tudo sem mexer na versão principal.
GitHub
editarHistória
editarLançado em 2008 e é usado desde então para que desenvolvedores possam hospedar seus projetos usando o sistema de controle de versão Git. O GitHub vem sendo o preferido entre os desenvolvedores por oferecer também alguns recursos de redes sociais, já que é possível seguir projetos de outros desenvolvedores e ainda comentar sobre eles. É escrito em Ruby on Rails pelos desenvolvedores da Logical Awesome, o que é um fato bastante interessante visto que a linguagem era muito nova na época com apenas quatro anos e já sendo utilizada em um projeto de grande porte e importância como o GitHub. Atualmente o GitHub hospeda projetos de grande importância para a comunidade de desenvolvedores. Entre eles podemos destacar o Kernel do Linux, Rails, Bootstrap e Django.
Características
editarEm abril de 2016 o GitHub reportou ter mais de 20 milhões de usuários, fazendo dele o maior host de código-fonte do mundo. O GitHub é usado principalmente para projetos de desenvolvimento, mas em adição a isso a plataforma consegue dar suportes aos seguintes formatos e recursos:
- Documentação, incluindo arquivos README em vários formatos possíveis para edição.
- Rastreamento de issues.
- Wikis.
- Pull requests.
- Histórico de commits.
- Gráficos: Pulse, contribuidores, frequência de codificação e etc.
- Possibilidade de integrar com outras ferramentas.
- Log de edições.
- Notificações por email.
- Opção de seguir um determinado usuário ou repositório e acompanhar evolução.
- Emojis
- Github Pages: Pequenos websites podem ser hospedados a partir de repositórios públicos. O formato da url é http://username.github.io.
Planos
editarO GitHub possui planos gratuitos e pagos. Optando pelo plano gratuito, o desenvolvedor não poderá ter direito a certas regalias que a plataforma oferece. Uma prova disso são os repositórios privados, onde para poder usufruir desse recurso, o desenvolvedor terá ao menos que ter adquirido o plano pago mais básico ou ter um plano de estudante.
Ferramentas de Integração
editarUm dos pontos fortes do GitHub é a vasta quantidade de ferramentas de integração disponíveis para a plataforma. Dando a possibilidade ao desenvolvedor a oportunidade de poder integrar seus projetos a essas ferramentas.
GitLab
editarHistória
editarA história do GitLab começa em 2011 onde dois desenvolvedores ucranianos, Dmitriy Zaporozhets e Valery Sizov, insatisfeitos com as opções de repositórios git no mercado, decidiram criar o GitLab como uma solução para isso. Originalmente o produto foi totalmente gratuito e open source distribuído sobre a licença MIT. Em julho de 2013, o produto foi dividido em: GitLab CE (Community Edition) e GitLab EE (Enterprise Edition). Em Fevereiro de 2014, o Gitlab anunciou a adoção de um modelo de negócio open core que consiste basicamente em oferecer uma parte ou versão do produto de forma gratuita e open source enquanto oferece também parte ou versão "comercial" como software proprietário. Assim como o GitHub, o GitLab também hospeda repositórios de organizações importantes no mercado mundial, como: Nasa, IBM, Sony, SAnDisk e Uber.
Características
editarAtualmente o GitLab possui quatro linhas de produtos:
- GitLab Community Edition: Gratuito, aplicação auto-hospedada, Suporte da comunidade
- GitLab Enterprise Edition: Paga, aplicação auto-hospedada, inclui diferentes funcionalidades e suporte.
- GitLab.com: SaaS gratuito para repositórios públicos e privados e suporte pode ser comprado a parte.
- GitHost.io: Da mesma forma que o GiHub, o GitLab oferece serviços de hospedagem de websites.
Planos
editarO GitLab oferece cinco planos para a comunidade de desenvolvedores. Um dos destaques para aqueles que não desejam adquirir um plano pago, é o fato de poder ter repositórios privados no plano gratuito, sendo um diferencial se comparado ao GitHub.
Ferramentas de Integração
editarDiferentemente do GitHub, o GitLab não possui uma vasta lista de ferramentas de integração. A seguinte lista mostra todas as ferramentas que o GitLab oferece suporte de integração:
- Rastreamento de issues - JIRA, Redmine, Bugzilla
- LDAP
- Jenkins
- OmniAuth
- SAML
- CAS
- Kerberos
- OAuth2 provider
- OpenID Connect
- Gmail actions buttons
- reCAPTCHA
- Akismet
- Koding
- PlantUML
Bitbucket
editarHistória
editarO Bitbucket anteriormente foi uma startup independente, fundada por Jesper Nohr. Em 29 de Setembro de 2010, o Bitbucket foi adquirido pela Atlassian. Inicialmente, o Bitbucket somente oferecia suporte para projetos cujo controle de versionamento fosse o Mercurial. Somente em outubro de 2011 que o Bitbucket oficialmente passou a oferecer suporte a git. Também hospeda repositórios de grandes portes como o GitHub e o GitLab. Dentre eles, podemos citar: Ford, PayPal, Starbucks e Pandora.
Características
editarO Bitbucket hoje possui mais de 5 milhões de desenvolvedores espalhados em mais de 900 mil equipes no mundo. Suas principais características podem ser acompanhadas pela seguinte lista:
- Políticas de Pull request
- Bitbucket pipelines - Build, test e deploy a partir do Bitbucket
- Verificação de conta em 2 passos
- Merge checks - Build dependent, revisão de código e controle de tasks
- Code search
- Git large File Storage (LFS) - Versionamento de arquivos grandes
- Documentação, incluindo arquivos README em vários formatos possíveis para edição.
- Rastreamento de issues.
- Wikis
- Bitbucket Pages - Websites com o domínio bitbucket.io
Planos
editarExistem diferentes planos que o Bitbucket oferece aos desenvolvedores. Basicamente os preços são definidos de acordo com a quantidade de usuários participantes do repositório. Para planos onde o usuário deseja que a hospedagem do repositório seja na nuvem, temos os seguintes planos:
Para planos empresariais e com grandes equipes e com hospedagem do servidor por conta própria, é possível adquirir os seguintes planos:
Ferramentas de Integração
editarO Bitbucket possui um bom acervo de ferramentas de integração. Não chega a ser tão completa como o GitHub, mas as principais ferramentas do mercado são suportadas pela plataforma. As principais podemos destacar:
- JIRA
- HiChat
- Bamboo
- Azure
- AWS
- Docker
- npm
- Sonar
- SVN Mirror
- Slack