# GitLab

GitLab é um gerenciador de repositório Git para Web, ele também dispõem Wiki e rastreamento de Issues. GitLab é um produto da empresa GitLab B.V, sendo parecido com o GitHub mas difere por ser Open Source.

## História

O produto inicial surgiu em 2011, era chamado GitLab sendo totalmente de graça e open source, distribuído sob a Licença MIT.
Em Julho de 2013 ouve a separação em dois produtos:
* Gitlab (CE) Comunity Edition
* Gitlab (EE) Enterprise Edition
A licença MIT permaneceu sob os dois produtos até Fevereiro de 2014 quando GitLab B.V . anunciou a adoção do modelo 'Open Core'. Assim mudando a licença MIT do produto Gitlab EE para licença proprietária contendo alguns aspectos a mais que o produto Gitlab CE.

#### GitLab B.V. adquire Gitorious

Gitorious também como o GitLab é um site de hospedagem para projetos que usam o sistema de controle de versão Git. Criado em 2008 teve seu nome baseado no software de servidor gratuito e open-source que o site é desenvolvido e hospedado.
Gitorious inicialmente foi adquirido pela empresa norueguesa Polish Powow AS em Agosto de 2013.
No dia 3 de Março de 2015, GitLab anunciou pelo seu Blog que adquiriu a empresa e assim fazendo um pedido de migração dos repositórios do Gitorious (que se manterá online até o final de março) para o GitLab.

## Criação e Manutenção

* Dimitry Zaporozhets
* Sytse Sijbrandij (CEO)
O software foi desenvolvido pelos 2 mencionados acima, tendo como base no Utrecht. O código tem como linguagem o Ruby. O produto GitLab conta com a manutenção feita por nove empregados assalariados e mais de 700 contribuidores open source. Sendo usado por mais de 100.000 organizações, incuindo NASA, Alibaba e Invincea.

## GitLab CI

GitLab CI é uma aplicação web com uma API que armazena o seu estado em um banco de dados.Ele gerencia projects/builds e fornece uma interface agradável. Ele usa a API do aplicativo GitLab para autenticar seus usuários. GitLab Runner é uma aplicação que processa builds. Ele pode ser implementado separadamente e funciona com GitLab CI através de uma API. Para executar os testes, você precisa de pelo menos uma instancia do GitLab CI e um GitLab Runner. No entanto, para a execução de várias compilações, ao mesmo tempo, você pode querer criar mais de um GitLab Runner. Vários runners também irão permitir que você execute os testes para uma commit em paralelo para que ele termine mais cedo. Os runners podem ser instalados na mesma máquina com o GitLab CI ou em outras máquinas.

## Vantagens e Desvantagens em relação ao GitHub
### Vantagens

* Numero de Repositórios ilimitados
* Espaço ilimitado (futuramente será cobrado por projetos maiores que 5Gb), atualmente o GitHub limita em 1GB por projeto
* Integração continua integrada (GitLab CI)
* Importação projetos do GitHub, BitBucket e Gitorious
* Armazenamento de repositórios em servidores privados

### Desvantagens

* O GitLab Cl funciona somente em Linux

## Instalação do GitLab em um Servidor Privado
### Ubuntu 14.04

Habilite o acesso HTTP e SSH no firewall do sistema
Faca o download e a instalação do Omnibus
Configure e inicie o GitLab
O usuario e senha padrão são:
Username: root Password: 5iveL!fe

## Veja também

* GitHub
* Sistema de Controle de Versão