Como uma solução sofisticada e flexível, o GitLab CE pode ser implantado usando vários métodos, mas somente o método oficialmente recomendado, a instalação do pacote Omnibus, será abordado neste documento.
Pré-requisitos
- Uma nova instância do servidor Site & Site Ubuntu 18.04 LTS x64 com pelo menos 4 GB de memória. Recomenda-se 8 GB ou mais para servir até 100 usuários. Diga que seu endereço IPv4 é
203.0.113.1
. - Um usuário sudo .
- Um domínio
gitlab.example.com
sendo apontado para a instância mencionada acima.
Nota: Ao implementar em sua própria instância do servidor, certifique-se de substituir todos os valores de exemplo pelos reais.
Etapa 1: executar tarefas básicas para hospedar o GitLab CE
Inicie um terminal SSH e faça login na sua instância do servidor Ubuntu 18.04 LTS x64 como um usuário sudo.
Adicione uma partição swap e ajuste a configuração de swappiness
Ao implantar o GitLab CE 11.x em uma máquina com 4 GB de memória, é necessário configurar uma partição de swap de 4 GB para um bom funcionamento:
sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
Nota: Se você estiver usando um tamanho de servidor diferente, o tamanho da partição de troca poderá variar.
Para propósitos de desempenho do sistema, é recomendado configurar o swappiness do kernel para um valor baixo como 10
:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness
A saída do cat
comando será 10
.
Configurar o nome do host da máquina e o nome de domínio totalmente qualificado (FQDN)
Use os seguintes comandos para configurar um nome de host gitlab
, e um FQDN gitlab.example.com
, para a máquina:
sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts
Você pode confirmar os resultados:
hostname
hostname -f
Modificar regras de firewall
Permitir tráfego SSH, HTTP e HTTPS de entrada
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Atualize o sistema
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Durante a atualização, você pode ser informado de que a versão atualmente instalada do arquivo de configuração do grub foi modificada localmente. Como na verdade não somos responsáveis pela modificação, use a UPseta para destacar a install the package maintainer's version
opção e pressione ENTER.
Quando o sistema estiver ativo e funcionando novamente, efetue login novamente como o mesmo usuário sudo para continuar.
Etapa 2: instalar as dependências necessárias
Antes de instalar o GitLab CE, você precisa instalar as dependências necessárias:
sudo apt install -y curl openssh-server ca-certificates
Além disso, se você quiser usar o Postfix para enviar mensagens de notificação, você precisa instalar o Postfix:
sudo apt install -y postfix
Durante a instalação, uma tela de configuração pode aparecer:
- Pressione TABpara destacar o
<OK>
botão na primeira tela e pressione ENTER. - Selecione
Internet Site
e pressione ENTER. - Para o
mail name
campo, insira o FQDN do seu servidorgitlab.example.com
e pressione ENTER. - Se outras telas aparecerem, pressione ENTERpara aceitar as configurações padrão.
Inicie e ative o serviço Postfix:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
Modifique as regras de firewall para o Postfix:
sudo ufw allow Postfix
sudo ufw allow 'Postfix SMTPS'
sudo ufw allow 'Postfix Submission'
Com o Postfix instalado, você precisa configurar o Postfix editando seu arquivo de configuração principal de /etc/postfix/main.cf
acordo com as configurações reais do servidor.
Nota: Além das instruções acima, você precisa enviar um tíquete de suporte para cancelar o bloqueio padrão da Vultr na porta 25 do SMTP.
Alternativamente, se você quiser usar outra solução de mensagens, basta pular a instalação do Postfix e optar por usar um servidor SMTP externo após a instalação do GitLab CE.
Etapa 3: Configurar o repositório GitLab APT e, em seguida, instalar o GitLab CE
Configure o repositório GitLab CE APT em seu sistema:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Em seguida, instale o GitLab CE 11.x:
sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce
A instalação pode demorar um pouco.
Por fim, aponte seu navegador da Web favorito para http://gitlab.example.com
, em seguida, envie uma nova senha conforme solicitado para concluir a instalação.
De agora em diante, use as seguintes credenciais para efetuar login como administrador:
- Nome de usuário:
root
- Senha:
<your-new-password>
Etapa 4: habilitar o acesso HTTPS integrando um certificado Let’s Encrypt SSL
Por enquanto, você instalou com sucesso o GitLab CE 11.x em sua instância de servidor, e os usuários já podem visitar o site usando o protocolo HTTP. Por motivos de segurança, é recomendável ativar o acesso HTTPS ao seu servidor GitLab, integrando um certificado Let’s Encrypt SSL.
Use o vi
editor para abrir o arquivo de configuração do GitLab CE:
sudo vi /etc/gitlab/gitlab.rb
Encontre as duas linhas seguintes:
external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts
Substitua-os de acordo:
external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']
Salve e saia:
:wq!
Reconfigure o GitLab CE usando as configurações atualizadas:
sudo gitlab-ctl reconfigure
A reconfiguração pode demorar um pouco.
Após a reconfiguração ser feita, todos os usuários serão forçados a usar o protocolo HTTPS ao acessar o site do GitLab.
Nota: Depois de alternar de HTTP para HTTPS, os cookies herdados podem causar um erro no GitLab 422. Limpar cookies corrige esse problema.