O que é Gitlab ?
Gitlab é um gerenciador de repositorio GIT para o ambiente WEB com a maioria das opções oferecidas pelo o Github. Com o Gitlab você terá a oportunidade de ter seu próprio gerenciador de repositorio, no seu ambiente de trabalho. O projeto é desenvolvido em Ruby com o framework Ruby on Rails.
Veja mais detalhes no site do projeto: https://about.gitlab.org
O que vamos usar ?
Instalação pura do:
FreeBSD 10 amd64 – GENERIC
1 2 |
|
Gitlab 7.1 Stable
O que vamos precisar ?
Vamos usar o gerenciador de pacotes binarios PKG para suprir nossa demanda de pacotes dependentes do Gitlab, para isso, execute o comando abaixo para atualizar o pkg:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Feito isto, estamos preparado para instalar os pacotes necessários:
1
|
|
Para o RVM (veremos abaixo):
1
|
|
Vamos ligar nosso servidor Redis:
1 2 3 |
|
Nesse tutorial, vou fazer uso do Postgresql como base de dados do Gitlab, porém, o Gitlab também é compativel com Mysql, fica a seu criterio:
1 2 3 4 |
|
Crie a base que iremos usar com o Gitlab:
1 2 3 4 5 6 7 8 9 10 |
|
Como vamos “enjaular” tudo em um usuário do sistema, vamos cria-lo no FreeBSD com o comando abaixo:
1
|
|
E com o usuário criado, vamos fazer o uso do Ruby, que é a linguagem de construção do Gitlab através do RVM. Para isto, vamos virar usuário git
e instalar o ambiente do RVM com uma versão do ruby:
1 2 3 |
|
1
|
|
Agora, instalar o Ruby 2.1.2 necessário para o Gitlab 7.1:
1 2 3 4 5 |
|
Pronto, já estamos com o ambiente com Ruby instalado e preparado para implementar o Gitlab.
1 2 3 4 |
|
Veja mais informações sobre o projeto RVM em: http://rvm.io/
Começamos então a clonar o repositorio do Gitlab:
1 2 |
|
E então, começar a configurar o Gitlab:
Copie o arquivo de exemplo do Gitlab:
1 2 |
|
ee config/gitlab.yml
Altere a entrada
localhost
para o hostname/dominio completo do seu servidor, por exemplo:gitlab.mundounix.com.br
Se for usar https, altere a porta de escuta de 80 para 443
Corriga o path do usuário git no arquivo de configuração para o formato
/usr/home/git
, já que o Gitlab não se da bem com links simbolicos. Faça isso nas linhas: 199, 208, 211, 212 do arquivo.Atualize o cominho do binario do git para o padrão do FreeBSD:
/usr/local/bin/git
na linha 225
1
|
|
ee config/unicorn.rb
- Habilite o modo “cluster” se você tiver muito acesso, aumentando o número de “workes” de acordo com a carga do seu servidor (CPU, Memória, etc)
1
|
|
Habilite a configuração da base de dados do Postgresql:
1
|
|
Configure uma conta global do GIT para o usuario git do sistema:
1 2 3 |
|
Acertando algumas permissões:
1 2 3 4 5 6 7 |
|
Criando diretorios para “satellites”:
1 2 |
|
Vamos agora instalar os pacotes Gems
, que são uma série de libs do Ruby necessárias para o Gitlab funcionar, usando a ferramenta bundle:
1 2 3 4 5 6 7 |
|
Instalação do Gitlab Shell
GitLab Shell é um software de acesso ssh e gerenciamento de repositório desenvolvido especialmente para GitLab.
Vá para o diretorio de instalação do Gitlab:
cd /home/git/gitlab
Rode uma tarefa de instalação do gitlab-shell:
1
|
|
1 2 3 4 5 6 7 8 |
|
Não esqueça ainda de alterar nesse arquivo de configuração o path (caminho) do usuário git, de /home/git
para /usr/home/git
na linha 7 do arquivo.
Vamos agora inicializar a base de dados:
1
|
|
Verifique se esta tudo ok:
1
|
|
Configure o cache de componentes web da interface (assets):
1
|
|
Pronto ! Gitlab configurado, precisamos agora configurar a inicilização do mesmo:
Como root (saia do /home do git –> exit
):
1
|
|
Feito isso, vamos inicializar o Gitlab:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Vamos agora configurar um front para nosso Gitlab e para essa tarefa, vamos usar o Nginx. Porém, se você estiver familiarizado com outro servidor web, você poderá também configura-lo, basta consultar o endereço abaixo para mais informações:
https://gitlab.com/gitlab-org/gitlab-recipes/
Vamos instalar o NGINX:
1
|
|
Copie agora o arquivo de configuração pronto do Gitlab para NGINX:
1
|
|
- Altere o arquivo de acordo com o seu hostname. Isso é importante !
- Na linha 59, altere a entrada do proxy_pass para o endereço interno do Gitlab: http://127.0.0.1:8080;
- Na linha 68, comente a entrada “gzip_static on;” colocando um “#” na frente. A versão do nginx compilada para o repositorio pkg não vem com suporte a gzip. Opcionalmente você poderá ativar isso compilando a versão do nginx para o ports.
Adicione agora no arquivo /usr/local/etc/nginx/nginx.conf, antes do ultimo “}”, na linha 117, o include para nosso arquivo de configuração do Gitlab:
1
|
|
Alguns diretorios necessários para nosso ambiente:
1 2 |
|
E podemos agora configurar a inicialização do NGINX:
1 2 3 4 5 6 |
|
Agora estamos com a configuração completa ! basta apontar seu navegador para o endereço do servidor e se logar com as credenciais padrões de inicialização:
1 2 |
|
É isso, qualquer dúvida, comente abaixo.
Referencias:
https://gitlab.com/gitlab-org/gitlab-ce/blob/7-1-stable/doc/install/installation.md