Como instalar o GitLab no Debian 12 ou 11

GitLab é uma plataforma DevOps abrangente que oferece uma ampla gama de recursos para controle de versão, integração contínua, implantação e gerenciamento de projetos. Ele integra vários estágios do ciclo de vida do DevOps em um único aplicativo, permitindo que as equipes trabalhem de forma colaborativa e eficiente. GitLab Community Edition (CE) é a versão de código aberto do GitLab, oferecendo ferramentas poderosas para gerenciar repositórios, rastrear problemas e automatizar pipelines de CI/CD.

Para instalar o GitLab CE no Debian 12 ou 11, você pode usar o script Bash oficial do GitLab para configurar o repositório APT do GitLab CE e então instalar e configurar o software. Este guia o guiará por todo o processo, garantindo que você tenha uma configuração robusta do GitLab no seu sistema Debian.

Atualize o Debian antes da instalação do Gitlab

Manter seu sistema operacional Debian atualizado é crucial para manter sua estabilidade e segurança. Para garantir que todos os pacotes existentes em seu sistema Debian estejam atualizados, é recomendável realizar uma atualização para fornecer as atualizações de segurança e correções de bugs mais recentes, garantindo a estabilidade e confiabilidade do seu sistema.

Você pode atualizar facilmente seu sistema operacional Debian executando o seguinte comando:

sudo apt update && sudo apt upgrade 

Instale os pacotes necessários para GitLab

Garantir que todas as dependências do GitLab estejam instaladas é uma etapa crítica no processo de instalação. Essas dependências são componentes necessários dos quais o GitLab depende para funcionar corretamente. Felizmente, instalar essas dependências é um processo simples.

Você pode instalá-los facilmente abrindo o terminal e executando o seguinte comando:

sudo apt install curl ca-certificates apt-transport-https tzdata perl

Importar repositório GitLab CE APT

Por padrão, o GitLab não está disponível nos repositórios padrão do Debian. Isso significa que você deve criar um repositório manualmente para instalar o GitLab. Porém, o GitLab fornece um script APT para auxiliar nesse processo, facilitando a instalação da plataforma pelos usuários. Com este script, você pode criar um repositório GitLab, que permitirá instalar o GitLab usando o gerenciador de pacotes APT padrão.

Para baixar o script, digite o seguinte comando em seu terminal:

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Depois de executar este comando, o script irá baixar e adicionar o repositório GitLab ao seu sistema Debian. Ele também atualizará a lista de pacotes, permitindo que você instale o GitLab usando o gerenciador de pacotes APT padrão.

Finalize a instalação do GitLab via comando APT

A próxima etapa é instalar o GitLab. Lembre-se que o script já utilizou o comando “apt update” para sincronizar o repositório recém-criado e modificado. Feito isso, agora você pode prosseguir com a execução do comando de instalação executando o seguinte:

sudo apt install gitlab-ce

Este comando instalará o GitLab Community Edition (CE), a versão gratuita e de código aberto do GitLab. O processo de instalação pode levar algum tempo, dependendo da velocidade da sua internet e das especificações do sistema.

Exemplo de saída se a instalação do GitLab for bem-sucedida no Debian:

Configurar o GitLab

Para configurar o GitLab no Debian, vários passos devem ser seguidos cuidadosamente. Esta seção descreverá o processo passo a passo, incluindo a configuração do nome do host, a configuração do firewall e a definição das configurações de e-mail.

Configurar o nome do host

Para acessar sua instância do GitLab, é crucial configurar o nome do host do seu servidor GitLab, então escolha um nome que seja fácil de lembrar e acessar. Siga estas etapas para configurar o nome do host:

Abra o arquivo de configuração do GitLab usando um editor de texto:

sudo nano /etc/gitlab/gitlab.rb

Localize a configuração external_url e substitua o URL de exemplo pelo nome de host desejado:

external_url 'https://gitlab.example.com'

Salve o arquivo e saia do editor de texto.

Agora reconfigure o GitLab para aplicar as alterações:

sudo gitlab-ctl reconfigure

Configure o firewall UFW para Gitlab

O GitLab usa a porta 80 para HTTP e a porta 443 para HTTPS por padrão. É crucial configurar seu firewall para permitir o tráfego nessas portas e garantir que sua instância do GitLab esteja acessível.

Siga estas etapas para configurar o firewall:

Primeiro instale o firewall UFW, pois ele não vem instalado no Debian por padrão, com o seguinte comando:

sudo apt install ufw

A seguir, assim que a instalação for concluída, habilite o firewall UFW com o seguinte comando:

sudo ufw enable

Abra o arquivo de configuração do firewall usando um editor de texto:

sudo nano /etc/ufw/applications.d/gitlab

Copie e cole as seguintes linhas no arquivo:

[GitLab]
title=GitLab
description=GitLab application
ports=80,443/tcp

Salve o arquivo e saia do editor de texto.

Habilite o aplicativo GitLab no firewall:

sudo ufw app update GitLab
sudo ufw allow GitLab

Definir configurações de e-mail

O GitLab usa notificações por e-mail para informar os usuários sobre as atividades do projeto, como novos problemas, solicitações de mesclagem e comentários.

Siga estas etapas para definir as configurações de e-mail:

Abra o arquivo de configuração do GitLab usando um editor de texto:

sudo nano /etc/gitlab/gitlab.rb

Localize a configuração gitlab_rails['smtp_enable'] e defina-a como verdadeira:

gitlab_rails['smtp_enable'] = true

Adicione as seguintes linhas ao arquivo para definir as configurações do servidor SMTP para seu provedor de e-mail, como Gmail:

gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "example@gmail.com"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Salve o arquivo e saia do editor de texto.

Reconfigure o GitLab para aplicar as alterações:

sudo gitlab-ctl reconfigure

É importante observar que após executar o comando “gitlab-ctl reconfigure”, você poderá observar que a saída do terminal termina com a seguinte mensagem:

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

Para visualizar a senha root (GitLab), execute o seguinte comando em seu terminal:

sudo cat /etc/gitlab/initial_root_password

A execução deste comando exibirá a senha root no terminal. É crucial manter esta senha segura e não compartilhá-la com usuários não autorizados.

Se precisar redefinir a senha root, você pode usar o seguinte comando:

sudo gitlab-rake "gitlab:password:reset[root]"

Após executar este comando, a senha root será redefinida para uma string aleatória exibida na saída do terminal. É essencial lembrar que a redefinição da senha root invalidará todos os tokens de acesso pessoais e existentes, portanto, os usuários deverão criar novos após redefinir a senha.

Por motivos de segurança, é recomendável alterar a senha root para uma senha forte e exclusiva o mais rápido possível após a configuração inicial e evitar usar a senha padrão. Você pode alterar a senha root fazendo login na interface web do GitLab, indo em “Configurações do usuário”> “Conta” e selecionando a opção “Alterar senha”.

Acesse a interface do usuário do GitLab

Assim que a configuração do back-end for concluída, é hora de fazer login e acessar o GitLab. Para conseguir isso, abra o caminho do domínio atribuído ao GitLab no arquivo de configuração.

https://gitlab.example.com

Em seguida, faça login no GitLab usando o nome de usuário “root” e a senha que você recebeu durante a instalação. Conforme mencionado na impressão da senha da seção anterior, a senha do guia era “4zB2mbBLCcRLRAkv3qHfmSZULJ/6ocJNe2XK8zNx9nU=” na imagem.

Você fez login com sucesso como conta root e chegará à página inicial padrão.

Dicas Adicionais

Abaixo estão algumas recomendações para proteger, personalizar ou qualquer outra dica geral ao fazer login pela primeira vez na interface de usuário do GitLab:

  • Altere a senha padrão: Para aumentar a segurança da sua instância do GitLab, é crucial alterar a senha padrão do usuário root. Faça login no GitLab usando o nome de usuário e senha padrão, navegue até “Configurações do usuário”> “Senha” e digite sua nova senha.
  • Configure a autenticação de dois fatores (2FA): Adicionar um fator de autenticação, como um código enviado ao seu telefone ou gerado por um aplicativo, ao processo de login é uma camada de segurança adicional fornecida pelo 2FA. Para habilitar 2FA no GitLab, navegue até “Configurações do usuário”> “Conta”> “Autenticação de dois fatores” e siga as instruções.
  • Crie um projeto: Para criar um novo projeto no GitLab, vá até a página “Projetos” e clique no botão “Novo Projeto”. Você pode criar um projeto vazio ou importar um projeto existente de um repositório Git.
  • Personalize a interface do usuário: O GitLab permite diversas opções de personalização, como alterar o tema, adicionar um logotipo personalizado e configurar a barra de navegação. Navegue até “Área Administrativa”> “Configurações” e selecione as opções apropriadas para personalizar a interface do usuário.
  • Configure o controle de acesso: Os poderosos recursos de controle de acesso do GitLab permitem controlar quem pode acessar seus projetos e o que eles podem fazer. Navegue até “Configurações do Projeto”> “Membros” e adicione ou remova membros com diferentes níveis de acesso para configurar o controle de acesso.
  • Use CI/CD do GitLab: Os poderosos recursos de CI/CD do GitLab automatizam o teste e a implantação do seu código. Configure pipelines de CI/CD criando um arquivo “.gitlab-ci.yml” no diretório raiz do seu projeto e definindo os estágios e jobs do seu pipeline.
  • Configure o GitLab Runner: GitLab Runner é um agente leve que executa trabalhos de CI/CD e envia os resultados de volta ao GitLab. Siga as instruções na documentação do GitLab para instalar e configurar o GitLab Runner em seu sistema Debian.
  • Faça backup da sua instância do GitLab: Faça backup regularmente de sua instância do GitLab para evitar perda de dados em caso de falha de hardware ou outros desastres. Execute o comando “gitlab-rake gitlab:backup:create” em seu terminal para fazer backup de sua instância do GitLab.

Criar Cronjob para backup automático do GitLab

Configurar um cronjob para backup automático do GitLab no Debian é vital para garantir a segurança de seus dados. Um cronjob é uma tarefa agendada que é executada automaticamente em intervalos específicos para realizar um backup de sua instância do GitLab. Siga estas etapas para criar um cronjob para backup automático do GitLab no Debian.

Crie um script de backup do Gitlab

O primeiro passo é criar um script de backup para realizar o backup da sua instância GitLab. Siga esses passos:

Usando um editor de texto, crie um novo arquivo para seu script de backup. Aqui está um exemplo:

sudo nano /usr/local/bin/gitlab-backup.sh

Cole o seguinte código no arquivo:

#!/bin/bash

BACKUP_DIR=/var/opt/gitlab/backups
TIMESTAMP=$(date +%s)

sudo gitlab-rake gitlab:backup:create

sudo cp ${BACKUP_DIR}/$(ls -t ${BACKUP_DIR} | head -1) ${BACKUP_DIR}/gitlab_backup_${TIMESTAMP}.tar
  • Salve o arquivo e saia do editor de texto.

Este script gerará um backup da sua instância GitLab executando o comando gitlab-rake gitlab:backup:create. Após criar o backup, ele duplicará o backup mais recente para um novo arquivo com um timestamp no nome do arquivo.

Definir permissões e propriedade

A etapa subsequente é estabelecer as permissões e propriedade apropriadas para o script de backup para garantir que o cronjob possa executá-lo. Siga esses passos:

Defina o proprietário do script de backup como o usuário associado ao GitLab:

sudo chown git:git /usr/local/bin/gitlab-backup.sh

Defina as permissões do script de backup para permitir a execução:

sudo chmod +x /usr/local/bin/gitlab-backup.sh

Criando um Cronjob

O próximo passo é criar um cronjob para agendar o script de backup para ser executado regularmente. Siga estes passos:

Para abrir o arquivo de configuração crontab para o usuário GitLab, siga estas etapas:

sudo crontab -u git -e

Para agendar o script de backup para ser executado todos os dias à 1h, adicione a seguinte linha ao arquivo de configuração do crontab para o usuário do GitLab:

0 1 * * * /path/to/backup/script.sh

Salve o arquivo e saia do editor de texto.

Este cronjob executará automaticamente o script de backup todos os dias à 1h, resultando em um novo arquivo de backup com um carimbo de data/hora no nome do arquivo.

Testando o Cronjob

Você pode verificar se o cronjob funciona corretamente executando manualmente o script de backup e garantindo que o arquivo de backup seja gerado sem erros. Para realizar este teste, digite o seguinte comando em seu terminal:

sudo /usr/local/bin/gitlab-backup.sh

Este comando irá gerar um novo arquivo de backup no diretório”/var/opt/gitlab/backups”. O nome do arquivo incluirá um carimbo de data/hora para indicar quando o backup foi criado.

Comandos do terminal GitLab

GitLab-ctl é uma ferramenta de linha de comando para gerenciar GitLab no Debian. Ele fornece um conjunto de comandos de terminal para iniciar, parar, reiniciar e gerenciar serviços GitLab, entre outras coisas. Aqui está uma seção detalhada sobre comandos do terminal GitLab-ctl, junto com exemplos de comandos e saídas com explicações.

Iniciando e parando serviços do GitLab

Para iniciar e parar os serviços do GitLab, use os seguintes comandos:

Inicie todos os serviços do GitLab:

sudo gitlab-ctl start

Pare todos os serviços do GitLab:

sudo gitlab-ctl stop

Reinicie todos os serviços do GitLab:

sudo gitlab-ctl restart

Recarregue os serviços do GitLab:

sudo gitlab-ctl reload

Esses comandos irão iniciar, parar, reiniciar ou recarregar todos os serviços GitLab. A saída indicará quais serviços estão sendo iniciados ou interrompidos e se a operação foi bem-sucedida.

Verificando o status dos serviços GitLab

Para verificar o status dos serviços GitLab, use o seguinte comando:

sudo gitlab-ctl status

Esses comandos irão iniciar, parar, reiniciar ou recarregar todos os serviços GitLab. Após executar o comando, a saída mostrará quais serviços foram afetados e se a operação foi bem-sucedida.

Fazendo backup e restaurando dados do GitLab

Você pode criar um backup dos dados do GitLab usando o seguinte comando:

Crie um backup dos dados do GitLab:

sudo gitlab-rake gitlab:backup:create

O comando fornecido criará um arquivo de backup que contém todos os dados do GitLab, como repositórios, dados do usuário e arquivos de configuração. O arquivo de backup será armazenado no diretório: “/var/opt/gitlab/backups”.

Restaure um backup dos dados do GitLab:

sudo gitlab-rake gitlab:backup:restore BACKUP=<backup_file>

Usando este comando, você pode restaurar um backup de dados do GitLab a partir de um arquivo de backup específico. O arquivo de backup deve estar no diretório “var/opt/gitlab/backups”, ou você pode indicar o caminho completo para o arquivo de backup.

Verificando a configuração do GitLab

Você pode usar o seguinte comando para verificar a configuração do GitLab:

sudo gitlab-rake gitlab:check

Este comando pode verificar erros ou avisos na configuração do GitLab, incluindo versões desatualizadas, dependências ausentes e configurações incorretas. A saída resumirá os resultados da verificação e informações detalhadas sobre quaisquer problemas detectados.

Verificando logs do GitLab

Veja como verificar os logs do GitLab usando os seguintes comandos:

Veja os registros do GitLab:

sudo gitlab-ctl tail gitlab-rails/production.log

Você pode usar o comando a seguir para visualizar as últimas dez linhas do log de produção do GitLab, que detalha ações, avisos e erros do usuário.

Veja os logs do GitLab NGINX:

sudo gitlab-ctl tail nginx/gitlab_access.log

Este comando mostrará as últimas dez linhas do log de acesso NGINX do GitLab que contém detalhes sobre solicitações e respostas HTTP.

Veja os logs do PostgreSQL do GitLab:

sudo gitlab-ctl tail postgresql/current

Este comando exibirá as últimas dez linhas do log PostgreSQL do GitLab, que contém informações sobre consultas e transações do banco de dados.

Conclusão

Com o GitLab CE instalado com sucesso em seu sistema Debian usando o script de configuração oficial, você pode aproveitar ao máximo seus poderosos recursos de DevOps. Este método garante que você tenha a versão mais recente e acesso fácil às atualizações. Mantenha e atualize regularmente sua instância do GitLab para se beneficiar dos mais novos recursos e melhorias de segurança. Aproveite a integração perfeita e as ferramentas colaborativas que o GitLab CE oferece para seus projetos de desenvolvimento.

Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)

Deixe um comentário